:root {
  --atlas-order-accent: #6d28d9;
  --atlas-order-accent-dark: #5521ad;
  --atlas-order-soft: #f5f0ff;
}

.atlas-dialog {
  background: #fff;
  border: 0;
  border-radius: 1.25rem;
  box-shadow: 0 24px 80px rgb(20 33 61 / 24%);
  color: var(--atlas-ink, #14213d);
  max-height: min(92vh, 880px);
  max-width: min(94vw, 820px);
  overflow: auto;
  padding: clamp(1.25rem, 4vw, 2.5rem);
  position: relative;
  width: 100%;
}

.atlas-dialog::backdrop {
  background: rgb(11 20 38 / 70%);
  backdrop-filter: blur(4px);
}

.atlas-dialog__close {
  align-items: center;
  background: #f4f1fa;
  border: 0;
  border-radius: 50%;
  color: #25183e;
  cursor: pointer;
  display: inline-flex;
  font-size: 1.5rem;
  height: 40px;
  inset-block-start: 0.75rem;
  inset-inline-end: 0.75rem;
  justify-content: center;
  min-height: 40px;
  padding: 0;
  position: absolute;
  width: 40px;
  z-index: 4;
}

.atlas-quick-view-button {
  background: rgb(255 255 255 / 94%);
  border: 1px solid var(--atlas-border, #e4e7ec);
  border-radius: 999px;
  color: var(--atlas-ink, #14213d);
  font-size: 0.78rem;
  inset-block-start: 0.75rem;
  inset-inline-end: 0.75rem;
  margin: 0;
  min-height: 34px;
  padding: 0.35rem 0.7rem;
  position: absolute;
  width: auto;
  z-index: 3;
}

.atlas-buy-now {
  background: var(--atlas-order-accent) !important;
  border-color: var(--atlas-order-accent) !important;
  color: #fff !important;
  font-weight: 850 !important;
}

.atlas-buy-now:hover {
  background: var(--atlas-order-accent-dark) !important;
  border-color: var(--atlas-order-accent-dark) !important;
}

.woocommerce ul.products li.product .atlas-buy-now,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_variable {
  box-sizing: border-box;
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  justify-content: center;
  line-height: 1.25;
  margin: 0 1rem 0.55rem;
  min-height: 44px;
  padding: 0.6rem 0.75rem;
  text-align: center;
  width: calc(100% - 2rem);
}

.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_variable {
  background: #fff;
  border: 1px solid var(--atlas-order-accent);
  color: var(--atlas-order-accent);
}

.woocommerce ul.products li.product .add_to_cart_button:hover,
.woocommerce ul.products li.product .product_type_variable:hover {
  background: var(--atlas-order-soft);
  color: var(--atlas-order-accent-dark);
}

.atlas-quick-order {
  clear: both;
  margin-block-start: 1.25rem;
  scroll-margin-block-start: 110px;
  width: 100%;
}

.atlas-quick-order--inline {
  background: linear-gradient(150deg, #fff 0%, #fdfcff 58%, var(--atlas-order-soft) 160%);
  border: 1px solid #ded5ef;
  border-radius: 1rem;
  box-shadow: 0 12px 32px rgb(37 24 62 / 8%);
  box-sizing: border-box;
  padding: clamp(1rem, 2.4vw, 1.5rem);
}

.atlas-quick-order--single .atlas-order-product {
  display: none;
}

.atlas-order-heading {
  border-block-end: 1px solid #ece7f5;
  margin-block-end: 1.25rem;
  padding-block-end: 1rem;
  text-align: start;
}

.atlas-order-heading > span {
  color: var(--atlas-order-accent);
  display: block;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  margin-block-end: 0.25rem;
  text-transform: uppercase;
}

.atlas-order-heading h2 {
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  margin: 0;
}

.atlas-order-heading p {
  color: #667085;
  font-size: 0.9rem;
  margin: 0.4rem 0 0;
}

.atlas-order-product {
  align-items: center;
  background: #faf9fc;
  border: 1px solid #ebe7f2;
  border-radius: 0.8rem;
  display: flex;
  gap: 0.9rem;
  margin-block-end: 1.25rem;
  padding: 0.75rem;
}

.atlas-order-product__image img {
  border-radius: 0.6rem;
  height: 68px;
  object-fit: cover;
  width: 68px;
}

.atlas-order-product strong,
.atlas-order-product span {
  display: block;
}

.atlas-order-product span {
  color: var(--atlas-order-accent);
  font-weight: 900;
  margin-block-start: 0.15rem;
}

.atlas-quick-order__form {
  display: grid;
  gap: 1rem;
}

.atlas-quick-order__form > label,
.atlas-quick-order__row > label {
  display: grid;
  font-size: 0.9rem;
  font-weight: 750;
  gap: 0.38rem;
  margin: 0;
}

.atlas-quick-order__form input[type="text"],
.atlas-quick-order__form input[type="tel"],
.atlas-quick-order__form input[type="number"],
.atlas-quick-order__form select,
.atlas-commerce.woocommerce-checkout form.checkout input.input-text,
.atlas-commerce.woocommerce-checkout form.checkout select {
  background: #fff;
  border: 1px solid #d9d2e7;
  border-radius: 0.65rem;
  color: #1d1730;
  min-height: 50px;
  padding: 0.65rem 0.8rem;
  width: 100%;
}

.atlas-quick-order__form input:focus,
.atlas-quick-order__form select:focus,
.atlas-commerce.woocommerce-checkout form.checkout input.input-text:focus,
.atlas-commerce.woocommerce-checkout form.checkout select:focus {
  border-color: var(--atlas-order-accent);
  box-shadow: 0 0 0 3px rgb(109 40 217 / 12%);
  outline: 0;
}

.atlas-quick-order__row {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
}

.atlas-quick-order__row--last {
  grid-template-columns: minmax(110px, 0.38fr) minmax(min(100%, 210px), 1fr);
}

.atlas-delivery-options {
  border: 0;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  margin: 0;
  padding: 0;
}

.atlas-delivery-options legend {
  font-size: 0.9rem;
  font-weight: 800;
  grid-column: 1 / -1;
  margin-block-end: 0.1rem;
}

.atlas-delivery-options > label,
.atlas-delivery-options .radio {
  align-items: center;
  background: #fff;
  border: 1px solid #d9d2e7;
  border-radius: 0.75rem;
  cursor: pointer;
  display: flex !important;
  gap: 0.65rem;
  margin: 0;
  min-height: 66px;
  padding: 0.75rem;
}

.atlas-delivery-options > label:has(input:checked),
.atlas-delivery-options .radio:has(input:checked) {
  background: var(--atlas-order-soft);
  border-color: var(--atlas-order-accent);
}

.atlas-delivery-options input[type="radio"] {
  accent-color: var(--atlas-order-accent);
  flex: 0 0 auto;
  height: 18px;
  margin: 0;
  width: 18px;
}

.atlas-delivery-options strong,
.atlas-delivery-options small {
  display: block;
}

.atlas-delivery-options small {
  color: #667085;
  font-weight: 500;
  margin-block-start: 0.15rem;
}

.atlas-order-summary {
  background: #fbfaff;
  border: 1px solid #ded5ef;
  border-radius: 0.85rem;
  padding: 1rem;
  transition: opacity 160ms ease;
}

.atlas-order-summary.is-loading {
  opacity: 0.55;
}

.atlas-order-summary h3 {
  font-size: 1.05rem;
  margin: 0 0 0.65rem;
}

.atlas-order-summary > div {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding-block: 0.35rem;
}

.atlas-order-summary > div > span {
  color: #667085;
}

.atlas-order-summary__total {
  border-block-start: 1px solid #ded5ef;
  font-size: 1.08rem;
  margin-block-start: 0.35rem;
  padding-block-start: 0.75rem !important;
}

.atlas-order-summary__total strong {
  color: var(--atlas-order-accent);
  font-size: 1.25rem;
}

.atlas-order-summary > small {
  color: #667085;
  display: block;
  margin-block-start: 0.45rem;
}

.atlas-order-summary.has-error > small,
.atlas-quick-order__message,
.atlas-variation-help {
  color: #b42318;
  font-weight: 750;
}

.atlas-order-terms {
  align-items: flex-start;
  display: flex !important;
  font-size: 0.84rem !important;
  gap: 0.5rem !important;
}

.atlas-order-terms input {
  margin-block-start: 0.2rem;
}

.atlas-quick-order__message {
  margin: 0;
}

.atlas-quick-order__form.is-success .atlas-quick-order__message {
  color: #067647;
}

.atlas-quick-order__submit {
  background: var(--atlas-order-accent) !important;
  border-color: var(--atlas-order-accent) !important;
  font-size: 1rem !important;
  min-height: 54px;
  width: 100%;
}

.atlas-quick-order__submit:disabled {
  cursor: wait;
  opacity: 0.65;
}

.atlas-variation-help {
  background: #fff1f0;
  border-radius: 0.5rem;
  margin-block-end: 0.75rem;
  padding: 0.65rem 0.75rem;
  width: 100%;
}

.atlas-honeypot {
  height: 1px;
  inset-inline-start: -10000px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.atlas-quick-view__grid {
  align-items: center;
  display: grid;
  gap: clamp(1.5rem, 4vw, 3rem);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.atlas-quick-view__image img {
  border-radius: var(--atlas-radius, 0.875rem);
  width: 100%;
}

.atlas-quick-view__price {
  color: var(--atlas-brand, #ef6c35);
  font-size: 1.4rem;
  font-weight: 900;
  margin-block-end: 1rem;
}

.atlas-quick-view__details {
  display: inline-block;
  font-weight: 800;
  margin-inline-start: 0.75rem;
}

.atlas-sticky-cart {
  background: rgb(255 255 255 / 97%);
  border-block-start: 1px solid var(--atlas-border, #e4e7ec);
  bottom: 0;
  box-shadow: 0 -14px 35px rgb(20 33 61 / 12%);
  inset-inline: 0;
  padding: 0.65rem 1rem;
  position: fixed;
  z-index: 850;
}

.atlas-sticky-cart__inner {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-inline: auto;
  max-width: 1240px;
}

.atlas-sticky-cart__product {
  align-items: center;
  display: flex;
  gap: 0.75rem;
}

.atlas-sticky-cart__product img {
  border-radius: 0.4rem;
  height: 48px;
  object-fit: cover;
  width: 48px;
}

.atlas-sticky-cart__product span {
  display: block;
  font-size: 0.85rem;
}

.atlas-recently-viewed {
  margin-block: 3rem;
}

/* Classic multi-product checkout, styled as the same focused COD form. */
.atlas-commerce.woocommerce-checkout form.checkout {
  align-items: start;
  display: grid;
  gap: 0 2rem;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
}

.atlas-commerce.woocommerce-checkout form.checkout #customer_details {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.atlas-commerce.woocommerce-checkout form.checkout #order_review_heading {
  grid-column: 2;
  margin-block: 0 1rem;
}

.atlas-commerce.woocommerce-checkout form.checkout #order_review {
  background: #fbfaff;
  border: 1px solid #ded5ef;
  border-radius: 0.9rem;
  grid-column: 2;
  padding: 1rem;
  position: sticky;
  top: 110px;
}

.atlas-commerce.woocommerce-checkout #customer_details .col-1 {
  float: none;
  width: 100%;
}

.atlas-commerce.woocommerce-checkout #customer_details .col-2,
.atlas-commerce.woocommerce-checkout .woocommerce-shipping-fields {
  display: none;
}

.atlas-commerce.woocommerce-checkout form.checkout h3 {
  color: #25183e;
}

.atlas-checkout-delivery {
  border-block-start: 1px solid #ece7f5;
  margin-block-start: 1rem;
  padding-block-start: 1rem;
}

.atlas-checkout-delivery .atlas-delivery-options .woocommerce-input-wrapper {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
}

.atlas-checkout-delivery .atlas-delivery-options .radio {
  white-space: normal;
}

.atlas-commerce.woocommerce-checkout #place_order {
  background: var(--atlas-order-accent);
  border-color: var(--atlas-order-accent);
  min-height: 54px;
  width: 100%;
}

@media (max-width: 780px) {
  .atlas-commerce.woocommerce-checkout form.checkout {
    display: block;
  }

  .atlas-commerce.woocommerce-checkout form.checkout #order_review_heading {
    margin-block-start: 1.5rem;
  }

  .atlas-commerce.woocommerce-checkout form.checkout #order_review {
    position: static;
  }
}

@media (max-width: 640px) {
  .atlas-dialog {
    border-radius: 1rem 1rem 0 0;
    margin-block-end: 0;
    max-height: 94vh;
    max-width: 100vw;
    padding: 1.15rem;
    width: 100%;
  }

  .atlas-quick-view__grid,
  .atlas-quick-order__row,
  .atlas-quick-order__row--last,
  .atlas-delivery-options,
  .atlas-checkout-delivery .atlas-delivery-options .woocommerce-input-wrapper {
    grid-template-columns: 1fr;
  }

  .atlas-quick-view__details {
    display: block;
    margin-block-start: 1rem;
    margin-inline-start: 0;
  }

  .atlas-sticky-cart__product img {
    display: none;
  }

  .atlas-sticky-cart__product strong {
    display: -webkit-box;
    max-width: 48vw;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }
}

@media (max-width: 420px) {
  .woocommerce ul.products li.product .atlas-buy-now,
  .woocommerce ul.products li.product .add_to_cart_button,
  .woocommerce ul.products li.product .product_type_variable {
    margin-inline: 0.75rem;
    width: calc(100% - 1.5rem);
  }
}
