/* General styles for the cart icon */
/* .rmenupro-cart {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1000;
} */
html {
  scroll-behavior: smooth;
}
.rwc_cart-button {
  /* WordPress blue */
  color: white;
  border: none;
  border-radius: 5px;
  padding: 10px 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
}

.cart-icon {
  font-size: 24px;
}

.cart-count {
  background: red;
  color: white;
  border-radius: 50%;
  padding: 2px 6px;
  font-size: 14px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Styles for the cart drawer */
.cart-drawer {
  position: fixed;
  top: 0;
  width: 300px;
  height: 100%;
  background: white;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  transform: translateX(100%);
  transition: transform 0.3s ease;
  z-index: 999999;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 10px;
}

.cart-drawer.left {
  left: 0;
  transform: translateX(-100%);
}

.cart-drawer.right {
  right: 0;
}

.cart-drawer.open {
  transform: translateX(0) !important;
  /* Slide into view */
}

/* Cart item styles */
.cart-drawer .cart-item {
  display: flex;
  align-items: center;
  padding: 1rem;
}

.cart-drawer .cart-items {
  overflow-y: auto;
}
.cart-drawer .cart-item:not(:last-child) {
  border-bottom: 1px solid #eaeaea;
}
.cart-subtotal {
  border-top: 1px solid #eaeaea;
}

.cart-drawer .cart-item img {
  width: 150px;
  /* Image size */
  height: auto;
  margin-right: 10px;
}

.cart-drawer .item-title {
  flex-grow: 1;
  /* Allow title to take remaining space */
}

.rmenupro-cart .remove-item {
  background: transparent;
  border: none;
  color: red;
  cursor: pointer;
  padding: 5px 10px;
}
.rmenupro-cart .quantity {
  display: flex;
  gap: 10px;
}
.rmenupro-cart .item-title {
  font-size: 16px;
  margin: 7px 0;
}
.rmenupro-cart .thumnail img {
  width: 150px;
  object-fit: cover;
}

/* Subtotal styles */
.rmenupro-cart .cart-subtotal {
  padding: 10px;
  font-weight: bold;
}

/* Checkout button styles */
.rmenupro-cart .checkout-button {
  background-color: #28a745;
  /* Green color for checkout */
  color: white;
  border: none;
  border-radius: 5px;
  padding: 10px;
  cursor: pointer;
  width: 100%;
  margin-top: 10px;
  display: block;
  text-align: center;
}
.cart-drawer .cart-item {
  align-items: flex-start;
  gap: 10px;
}
.cart-drawer {
  width: 450px;
}
.quantity > input {
  width: 4.8rem;
  padding: 0 9px !important;
  border: 1px solid #eee;
}
.cart-drawer {
  padding-top: 30px;
}
.cart-content h2 {
  font-size: 24px;
}
.cart-drawer {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.8s;
}

button.rwc_cart-button span.cart-icon img {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7488%)
    hue-rotate(355deg) brightness(103%) contrast(106%);
}
/* Popup styles */
.checkout-popup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  padding: 20px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  z-index: 999999;
  width: 90%;
  max-width: 400px;
  height: 600px;
  overflow: hidden;
}
.checkout-popup .woocommerce-privacy-policy-text {
  display: none !important;
}

.cart-drawer .cart-item__summary {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.cart-drawer .cart-item__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  position: relative;
}

/* Checkout: quantity + remove + variation switcher on one row */
.onepaqucpro-checkout-qty-row {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  vertical-align: middle;
}

.onepaqucpro-checkout-qty-row .onepaqucpro-cart-variation-editor {
  display: inline-flex;
  margin: 0;
}

.onepaqucpro-cart-variation-editor {
  margin: 8px 0 10px;
  position: relative;
}

.onepaqucpro-cart-variation-editor.is-loading {
  opacity: 0.65;
}

.onepaqucpro-cart-variation-editor__toggle {
  align-items: center;
  background: #f0fdfa !important;
  border: 1px solid var(--cart-bg) !important;
  border-radius: 999px;
  color: var(--cart-bg) !important;
  cursor: pointer;
  display: inline-flex;
  height: 32px;
  justify-content: center;
  padding: 0 !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  width: 32px;
}

.onepaqucpro-cart-variation-editor__toggle:hover,
.onepaqucpro-cart-variation-editor__toggle:focus {
  background: #ccfbf1;
  border-color: #5eead4;
  color: #115e59;
}

.onepaqucpro-cart-variation-editor__toggle svg {
  display: block;
  height: 16px;
  width: 16px;
}

.onepaqucpro-cart-variation-editor__toggle svg.onepaqucpro-cart-variation-editor__switch-icon .onepaqucpro-cart-variation-editor__switch-icon-line {
  fill: none;
  stroke: currentColor;
}

.onepaqucpro-cart-variation-editor__panel {
  margin-top: 10px;
  padding: 12px;
  border: 1px solid #dfe7e7;
  border-radius: 10px;
  background: #f8fbfb;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
  min-width: 280px;
  max-width: min(320px, calc(100vw - 24px));
  z-index: 30;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.onepaqucpro-cart-variation-editor__fields {
  display: grid;
  gap: 10px;
}

.onepaqucpro-cart-variation-editor__field {
  display: grid;
  gap: 5px;
}

.onepaqucpro-cart-variation-editor__label {
  font-size: 12px;
  font-weight: 600;
  color: #334155;
}

.onepaqucpro-cart-variation-editor__select {
  width: 100%;
  min-height: 38px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  padding: 0 10px;
  font-size: 13px;
  color: #0f172a;
}

.onepaqucpro-cart-variation-editor__actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.onepaqucpro-cart-variation-editor__apply,
.onepaqucpro-cart-variation-editor__cancel {
  min-height: 34px;
  border-radius: 8px;
  padding: 0 12px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
}

.onepaqucpro-cart-variation-editor__apply {
  border: none;
  background: var(--cart-bg);
  color: var(--cart-text);
}

.onepaqucpro-cart-variation-editor__apply:hover,
.onepaqucpro-cart-variation-editor__apply:focus {
  background: #115e59;
}

.onepaqucpro-cart-variation-editor__apply[disabled] {
  background: #94a3b8;
  cursor: not-allowed;
}

.onepaqucpro-cart-variation-editor__cancel {
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #334155;
}

.onepaqucpro-cart-variation-editor__feedback {
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 1.4;
}

.onepaqucpro-cart-variation-editor__feedback.is-error {
  color: #b91c1c;
}

.onepaqucpro-cart-variation-editor__feedback.is-success {
  color: #15803d;
}

.cart-drawer .onepaqucpro-cart-variation-editor,
.checkout-quantity-control .onepaqucpro-cart-variation-editor,
.onepaqucpro-checkout-qty-row .onepaqucpro-cart-variation-editor,
.onepaquc-blocks-controls .onepaqucpro-cart-variation-editor,
.wc-block-cart-item__quantity .onepaqucpro-cart-variation-editor {
  display: inline-flex;
  margin: 0;
  align-items: center;
  align-self: center;
}

/* Fallback layout when JS has not yet pinned the panel (popover positioning runs in cart.js) */
.onepaqucpro-cart-variation-editor--drawer .onepaqucpro-cart-variation-editor__panel,
.onepaqucpro-cart-variation-editor--checkout-inline .onepaqucpro-cart-variation-editor__panel,
.onepaqucpro-cart-variation-editor--blocks-cart .onepaqucpro-cart-variation-editor__panel,
.onepaqucpro-cart-variation-editor--blocks-checkout .onepaqucpro-cart-variation-editor__panel {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  margin-top: 0;
}

.woocommerce-cart-form .onepaqucpro-cart-variation-editor,
.woocommerce-checkout-review-order-table .onepaqucpro-cart-variation-editor,
.shop_table.woocommerce-checkout-review-order-table .onepaqucpro-cart-variation-editor {
  margin-top: 8px;
}

.woocommerce-checkout-review-order-table .onepaqucpro-checkout-qty-row .onepaqucpro-cart-variation-editor,
.shop_table.woocommerce-checkout-review-order-table .onepaqucpro-checkout-qty-row .onepaqucpro-cart-variation-editor {
  margin-top: 0;
}

@media (max-width: 767px) {
  .onepaqucpro-cart-variation-editor__panel {
    min-width: min(280px, calc(100vw - 32px));
  }

  .woocommerce-cart-form .onepaqucpro-cart-variation-editor__panel,
  .woocommerce-checkout-review-order-table .onepaqucpro-cart-variation-editor__panel,
  .shop_table.woocommerce-checkout-review-order-table .onepaqucpro-cart-variation-editor__panel {
    max-width: 100%;
  }
}

.checkout-popup form #customer_details * {
  width: 100% !important;
}

.checkout-popup h2 {
  margin: 0 !important;
}

.checkout-popup .form-row.place-order {
  position: fixed;
  bottom: 0;
  left: 0;
  height: min-content;
  width: 95%;
  background: #fff;
  display: flex;
  justify-content: space-between;
  margin: 0 !important;
  padding: 10px 20px !important;
}
.checkout-popup.onepagecheckoutwidget .form-row.place-order {
  position: relative;
  top: unset;
  height: unset;
  width: unset;
  background: unset;
  display: unset;
  justify-content: unset;
}

.checkout-popup p.order-total-price {
  display: flex;
  flex-direction: column;
  margin: 0 !important;
}
.checkout-popup p.order-total-price bdi {
  font-weight: bold;
  font-size: 20px;
}

.one-page-checkout-container .form-row.place-order p.order-total-price {
  display: none;
}

.checkout-popup .form-row.place-order:before,
.checkout-popup .form-row.place-order:after {
  display: none !important;
}

.checkout-popup div#checkout-form {
  overflow: hidden;
  overflow-y: scroll;
  height: 100%;
}

.popup-message {
  margin-top: 10px;
  color: green;
  /* Message color */
}

/* Close button styles */
.close-popup {
  background: transparent;
  border: none;
  color: #007cba;
  /* WordPress blue */
  cursor: pointer;
  margin-top: 10px;
}

.overlay {
  display: none;
  /* Overlay to cover the rest of the page */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
}
.spinner {
  width: 15px !important;
  height: 15px;
  border-radius: 50%;
  border: 9px solid;
  border-color: #dbdcef;
  border-right-color: #474bff;
  animation: spinner-d3wgkg 1s infinite linear;
}

@keyframes spinner-d3wgkg {
  to {
    transform: rotate(1turn);
  }
}
.close_button {
  -webkit-border-radius: 50%;
  -khtml-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  border: 6px solid transparent;
  color: #777;
  width: 36px;
  height: 36px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  cursor: pointer;
  z-index: 2;
}
.close_button:before,
.close_button:after {
  content: "";
  position: absolute;
  height: 2px;
  width: 60%;
  top: 50%;
  left: 0;
  margin-top: -1px;
  transform-origin: 50% 50%;
  -webkit-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -khtml-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
  background-color: #1b1b1b;
  background-color: #666;
}
.close_button:before {
  -webkit-transform: rotate(45deg);
  -khtml-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.close_button:after {
  -webkit-transform: rotate(-45deg);
  -khtml-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.close_button:hover:before,
.close_button:hover:after {
  -webkit-transform: rotate(0deg);
  -khtml-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
}

.checkout-popup ul#shipping_method li {
  display: flex;
  align-items: center;
  align-content: center;
}

.checkout-popup ul#shipping_method label {
  padding: 0 !important;
}
.checkout-popup li label:before {
  display: none !important;
}
.checkout-popup #shipping_method li .shipping_method {
  opacity: 1;
  display: block;
}
.popup-message:has(.Confirm_message) {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup-content {
  height: 95%;
}
.checkout-popup
  form
  #order_review:not(.elementor-widget-woocommerce-checkout-page #order_review) {
  padding: 0 !important;
  border: 0 !important;
}
.checkout-popup h3#order_review_heading {
  padding: 0px !important;
  border: 0 !important;
  font-size: 20px;
}
.checkout-popup p#shipping_first_name_field {
  width: 100%;
}
.checkout-popup tr.woocommerce-shipping-totals.shipping td {
  padding: 0 !important;
}
.checkout-popup
  ul#shipping_method
  li:not(.elementor-widget-woocommerce-cart #shipping_method li) {
  text-indent: -1px;
  padding: 0.25em 0 0.25em 10px;
}
.checkout-popup form.checkout_coupon.woocommerce-form-coupon {
  width: 100%;
}

.checkout-quantity-control {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: unset !important;
  max-width: unset !important;
  min-width: unset !important;
}

.checkout-popup div:has(.checkout-quantity-control) {
  align-items: center;
}

.checkout-qty-btn {
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  padding: 0 8px !important;
  cursor: pointer;
  height: 25px !important;
  max-height: 25px !important;
  min-height: 25px !important;
  font-weight: bold;
  font-size: 16px;
  color: #000;
  margin: 0 !important;
}
.checkout-qty-minus {
  border-radius: 3px 0 0 3px;
}
.checkout-qty-plus {
  border-radius: 0 3px 3px 0;
}
.checkout-qty-input {
  width: 3em;
  text-align: center;
  padding: 5px;
  height: 28px;
  margin: 0 -1px;
  border-radius: 0;
  vertical-align: middle;
  border: 1px solid #ddd;
}
.checkout-quantity-control input {
  width: 40px !important;
  padding: 1px !important;
  height: 25px !important;
  margin: 0;
}
.woocommerce form .form-row-first,
.woocommerce form .form-row-last,
.woocommerce-page form .form-row-first,
.woocommerce-page form .form-row-last {
  width: 100% !important;
}
table.one-page-checkout-product-table td {
  border: none;
}
.one-page-checkout-container {
  clear: both;
  margin-bottom: 30px;
  padding: 25px;
  background: #f8f8f8;
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  max-width: 1290px;
  margin: 0 auto;
  overflow: auto;
}

/* .one-page-checkout-container div#wc-stripe-express-checkout-element,
.one-page-checkout-container p#wc-stripe-express-checkout-button-separator {
  width: 100%;
  max-width: 100%;
} */

/* .one-page-checkout-container .col2-set .col-2,
.one-page-checkout-container .col2-set .col-2 {
  float: none;
  width: 100%;
  max-width: 100%;
}
.one-page-checkout-container h2 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 24px;
} */

.one-page-checkout-description {
  margin-bottom: 20px;
  font-size: 14px;
  color: #666;
}

/* Hide quantity selector in cart table */
/* .one-page-checkout-container
  .woocommerce-checkout-review-order-table
  .product-quantity {
  visibility: hidden;
} */

/* .one-page-checkout-container .woocommerce form .form-row-first,
.one-page-checkout-container .woocommerce form .form-row-last,
.one-page-checkout-container .woocommerce-page form .form-row-first,
.one-page-checkout-container .woocommerce-page form .form-row-last {
  width: 100%;
  max-width: 100%;
} */

/* .one-page-checkout-container
  form
  #order_review:not(.elementor-widget-woocommerce-checkout-page #order_review) {
  padding: 0;
  border: none;
}
@media (min-width: 768px) {
  .one-page-checkout-container form td.product-name {
    display: flex;
    gap: 10px;
    align-items: center;
  }
} */

/* .onepagecheckoutwidget h3#order_review_heading {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
} */

/* Responsive checkout form */
@media (min-width: 768px) {
  /* .one-page-checkout-container .woocommerce-checkout {
    display: flex !important;
    flex-wrap: wrap;
    margin: 0 -15px;
  }

  .one-page-checkout-container .woocommerce-checkout > * {
    width: 50%;
    padding: 0 15px 20px;
    float: left;
    max-width: 50%;
  }

  .one-page-checkout-container .woocommerce-checkout > *:only-child {
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
  }

  .one-page-checkout-container .woocommerce-checkout > *:only-child > * {
    width: 50%;
    padding: 0 15px 20px;
    float: left;
    max-width: 50%;
  }

  .woocommerce .one-page-checkout-container .woocommerce-checkout > * > * {
    width: 100%;
    max-width: 100%;
  } */

  /* .one-page-checkout-container #order_review_heading {
    display: none;
  } */

  /* .one-page-checkout-container table.shop_table {
    width: 100%;
    max-width: 100%;
  }

  .one-page-checkout-container #order_review_heading {
    margin-top: 0;
  }
  .one-page-checkout-container
    .woocommerce-checkout
    .woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout {
    max-width: 100%;
    width: 100%;
  } */
}

/* .one-page-checkout-container .woocommerce-error:empty,
.woocommerce-error:not(:has(*)) {
  display: none !important;
} */

.remove-item-checkout {
  color: #cc0000;
  margin-left: 5px;
  text-decoration: none;
  font-weight: bold;
  width: unset !important;
  max-width: unset !important;
}

.remove-item-checkout:hover {
  color: #990000;
}

.wc-block-cart-item__quantity .onepaqucpro-cart-variation-editor {
  display: inline-flex;
  vertical-align: middle;
  margin-left: 8px;
}

.onepaquc-blocks-controls {
  position: relative;
}

.checkout-product-item {
  display: flex;
  align-items: center;
}

.checkout-product-image {
  margin-right: 10px;
  min-width: 50px;
}

.checkout-product-name {
  flex: 1;
}
@media (max-width: 767px) {
  .one-page-checkout-container {
    padding: 15px;
  }
}
@media (max-width: 781px) {
  .cart-drawer {
    width: 85vw;
    padding-top: 10px;
    padding-left: 10px;
    padding-right: 10px;
  }
  .cart-drawer .cart-item {
    padding: 0;
    padding-top: 30px;
  }
  .quantity input {
    width: 40%;
  }
}

/* compare table template style */

.one-page-checkout-container .product-comparison-table {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.one-page-checkout-container .comparison-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 40px;
}

/* Header section */
.one-page-checkout-container .product-header-row {
  border-bottom: 1px solid #eee;
}

.one-page-checkout-container .product-header-row th {
  padding: 15px;
  text-align: center;
  vertical-align: top;
}

.one-page-checkout-container .feature-column {
  width: 200px;
  text-align: left !important;
}

.one-page-checkout-container .product-column {
  padding: 25px 15px !important;
}

/* Product image and info */
.one-page-checkout-container .product-image-container {
  position: relative;
  margin-bottom: 15px;
  text-align: center;
}

.one-page-checkout-container .product-image-container img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.one-page-checkout-container .new-badge {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #ff4081;
  color: white;
  padding: 3px 8px;
  font-size: 12px;
  border-radius: 3px;
}

.one-page-checkout-container .product-title {
  font-size: 18px;
  font-weight: 500;
  margin: 10px 0;
  text-align: center;
}

.one-page-checkout-container .product-price {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 15px;
  text-align: center;
}

.one-page-checkout-container .product-variations {
  display: flex;
  justify-content: center;
  margin: 10px 0;
  gap: 5px;
}

.one-page-checkout-container .variation-option {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: inline-block;
  border: 1px solid #ddd;
}

/* Common color variations - will be extended by actual product colors */
.one-page-checkout-container .black {
  background-color: #000;
}

.one-page-checkout-container .blue {
  background-color: #1e88e5;
}

.one-page-checkout-container .pink {
  background-color: #e91e63;
}

.one-page-checkout-container .red {
  background-color: #f44336;
}

.one-page-checkout-container .green {
  background-color: #4caf50;
}

.one-page-checkout-container .yellow {
  background-color: #ffeb3b;
}

.one-page-checkout-container .purple {
  background-color: #9c27b0;
}

.one-page-checkout-container .orange {
  background-color: #ff9800;
}

.one-page-checkout-container .brown {
  background-color: #795548;
}

.one-page-checkout-container .gray,
.one-page-checkout-container .grey {
  background-color: #9e9e9e;
}

.one-page-checkout-container .white {
  background-color: #ffffff;
}

/* Additional colors */
.one-page-checkout-container .gold {
  background-color: #ffd700;
}

.one-page-checkout-container .multicolor {
  background: linear-gradient(
    to right,
    red,
    orange,
    yellow,
    green,
    blue,
    indigo,
    violet
  );
}

.one-page-checkout-container .off-white {
  background-color: #f5f5f5;
}

.one-page-checkout-container .silver {
  background-color: #c0c0c0;
}

.one-page-checkout-container .navy {
  background-color: #000080;
}

.one-page-checkout-container .teal {
  background-color: #008080;
}

.one-page-checkout-container .olive {
  background-color: #808000;
}

.one-page-checkout-container .maroon {
  background-color: #800000;
}

.one-page-checkout-container .aqua {
  background-color: #00ffff;
}

.one-page-checkout-container .lime {
  background-color: #00ff00;
}

.one-page-checkout-container .coral {
  background-color: #ff7f50;
}

.one-page-checkout-container .lavender {
  background-color: #e6e6fa;
}

.one-page-checkout-container .turquoise {
  background-color: #40e0d0;
}

.one-page-checkout-container .beige {
  background-color: #f5f5dc;
}

/* Extended color palette */
.one-page-checkout-container .amber {
  background-color: #ffc107;
}

.one-page-checkout-container .azure {
  background-color: #f0ffff;
}

.one-page-checkout-container .bronze {
  background-color: #cd7f32;
}

.one-page-checkout-container .burgundy {
  background-color: #800020;
}

.one-page-checkout-container .charcoal {
  background-color: #36454f;
}

.one-page-checkout-container .chartreuse {
  background-color: #7fff00;
}

.one-page-checkout-container .cobalt {
  background-color: #0047ab;
}

.one-page-checkout-container .copper {
  background-color: #b87333;
}

.one-page-checkout-container .crimson {
  background-color: #dc143c;
}

.one-page-checkout-container .cyan {
  background-color: #00ffff;
}

.one-page-checkout-container .emerald {
  background-color: #50c878;
}

.one-page-checkout-container .fuchsia {
  background-color: #ff00ff;
}

.one-page-checkout-container .forest-green {
  background-color: #228b22;
}

.one-page-checkout-container .hot-pink {
  background-color: #ff69b4;
}

.one-page-checkout-container .indigo {
  background-color: #4b0082;
}

.one-page-checkout-container .ivory {
  background-color: #fffff0;
}

.one-page-checkout-container .jade {
  background-color: #00a86b;
}

.one-page-checkout-container .khaki {
  background-color: #f0e68c;
}

.one-page-checkout-container .lemon {
  background-color: #fff700;
}

.one-page-checkout-container .lilac {
  background-color: #c8a2c8;
}

.one-page-checkout-container .magenta {
  background-color: #ff00ff;
}

.one-page-checkout-container .mahogany {
  background-color: #c04000;
}

.one-page-checkout-container .mint {
  background-color: #3eb489;
}

.one-page-checkout-container .mustard {
  background-color: #ffdb58;
}

.one-page-checkout-container .neon-green {
  background-color: #39ff14;
}

.one-page-checkout-container .neon-pink {
  background-color: #ff6ec7;
}

.one-page-checkout-container .ochre {
  background-color: #cc7722;
}

.one-page-checkout-container .olive-drab {
  background-color: #6b8e23;
}

.one-page-checkout-container .peach {
  background-color: #ffcba4;
}

.one-page-checkout-container .periwinkle {
  background-color: #ccccff;
}

.one-page-checkout-container .plum {
  background-color: #8e4585;
}

.one-page-checkout-container .rose {
  background-color: #ff007f;
}

.one-page-checkout-container .rust {
  background-color: #b7410e;
}

.one-page-checkout-container .salmon {
  background-color: #fa8072;
}

.one-page-checkout-container .sapphire {
  background-color: #0f52ba;
}

.one-page-checkout-container .scarlet {
  background-color: #ff2400;
}

.one-page-checkout-container .sea-green {
  background-color: #2e8b57;
}

.one-page-checkout-container .sky-blue {
  background-color: #87ceeb;
}

.one-page-checkout-container .slate {
  background-color: #708090;
}

.one-page-checkout-container .tan {
  background-color: #d2b48c;
}

.one-page-checkout-container .taupe {
  background-color: #483c32;
}

.one-page-checkout-container .terracotta {
  background-color: #e2725b;
}

.one-page-checkout-container .thistle {
  background-color: #d8bfd8;
}

.one-page-checkout-container .violet {
  background-color: #ee82ee;
}

.one-page-checkout-container .wheat {
  background-color: #f5deb3;
}

/* Material design colors */
.one-page-checkout-container .amber-100 {
  background-color: #ffecb3;
}

.one-page-checkout-container .amber-500 {
  background-color: #ffc107;
}

.one-page-checkout-container .amber-900 {
  background-color: #ff6f00;
}

.one-page-checkout-container .blue-100 {
  background-color: #bbdefb;
}

.one-page-checkout-container .blue-500 {
  background-color: #2196f3;
}

.one-page-checkout-container .blue-900 {
  background-color: #0d47a1;
}

.one-page-checkout-container .cyan-100 {
  background-color: #b2ebf2;
}

.one-page-checkout-container .cyan-500 {
  background-color: #00bcd4;
}

.one-page-checkout-container .cyan-900 {
  background-color: #006064;
}

.one-page-checkout-container .deep-orange-100 {
  background-color: #ffccbc;
}

.one-page-checkout-container .deep-orange-500 {
  background-color: #ff5722;
}

.one-page-checkout-container .deep-orange-900 {
  background-color: #bf360c;
}

.one-page-checkout-container .deep-purple-100 {
  background-color: #d1c4e9;
}

.one-page-checkout-container .deep-purple-500 {
  background-color: #673ab7;
}

.one-page-checkout-container .deep-purple-900 {
  background-color: #311b92;
}

.one-page-checkout-container .light-blue-100 {
  background-color: #b3e5fc;
}

.one-page-checkout-container .light-blue-500 {
  background-color: #03a9f4;
}

.one-page-checkout-container .light-blue-900 {
  background-color: #01579b;
}

.one-page-checkout-container .light-green-100 {
  background-color: #dcedc8;
}

.one-page-checkout-container .light-green-500 {
  background-color: #8bc34a;
}

.one-page-checkout-container .light-green-900 {
  background-color: #33691e;
}

/* Add to cart button */
.one-page-checkout-container .add-to-cart-container {
  text-align: center;
  margin-top: 15px;
}

/* Feature categories and rows */
.one-page-checkout-container .section-header {
  background-color: #f5f5f5;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.5px;
}

.one-page-checkout-container .section-header td {
  padding: 10px 15px;
  color: #616161;
}

.one-page-checkout-container .feature-row td {
  padding: 12px 15px;
  border-bottom: 1px solid #eee;
  text-align: center;
  vertical-align: middle;
}

.one-page-checkout-container .feature-name {
  font-size: 14px;
  color: #424242;
  text-align: left !important;
  font-weight: 500;
}

.one-page-checkout-container .feature-value {
  font-size: 14px;
  color: #757575;
}

.one-page-checkout-container .in-stock {
  color: #4caf50;
  font-weight: 500;
}

.one-page-checkout-container .out-of-stock {
  color: #f44336;
  font-weight: 500;
}

/* Responsive design */
@media (max-width: 768px) {
  .one-page-checkout-container .comparison-table {
    display: block;
    overflow-x: auto;
  }

  .one-page-checkout-container .feature-column {
    width: 150px;
  }

  .one-page-checkout-container .product-title {
    font-size: 16px;
  }

  .one-page-checkout-container .product-price {
    font-size: 14px;
  }
}

/* PRODUCT ACCORDION STYLE */

.product-accordion-template .opc-product-add-to-cart a {
  margin: 0 !important;
}

.product-accordion-template .one-page-checkout-container {
  padding: 20px;
}

.product-accordion-template .one-page-checkout-accordion {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.product-accordion-template .opc-accordion-item {
  border: 1px solid #ddd;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.product-accordion-template .opc-accordion-header {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 15px;
  position: relative;
  gap: 15px;
}

/* WooCommerce Blocks checkout order-summary controls */
.wc-block-components-order-summary-item .onepaquc-blocks-controls {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-end;
}

.wc-block-components-order-summary-item .onepaquc-blocks-qty {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  padding: 2px;
  background: #fff;
}

.wc-block-components-order-summary-item .onepaquc-blocks-qty button {
  width: 28px;
  height: 28px;
  border: none;
  background: #f5f5f5;
  color: #000;
  border-radius: 3px;
  line-height: 1;
  cursor: pointer;
  font-size: 16px;
  padding: 0;
}

.wc-block-components-order-summary-item .onepaquc-blocks-qty-input {
  width: 56px;
  text-align: center;
  border: none;
  background: transparent;
  box-shadow: none;
  margin: 0;
  padding: 0;
}

.wc-block-components-order-summary-item .onepaquc-blocks-remove {
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 3px;
  background: #ffe8e8;
  color: #c0392b;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  padding: 0;
}

.wc-block-components-order-summary-item .onepaquc-blocks-product-link {
  text-decoration: underline;
}

.wc-block-components-order-summary-item.onepaquc-blocks-item-updating {
  opacity: 0.6;
  pointer-events: none;
}

.product-accordion-template .opc-product-image img {
  width: 80px;
  height: auto;
  border-radius: 8px;
}

.product-accordion-template .opc-product-details {
  flex-grow: 1;
  text-align: left;
}

.product-accordion-template .opc-product-title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 4px;
}

.product-accordion-template .opc-product-price {
  color: #444;
  margin-bottom: 5px;
}

.product-accordion-template .opc-product-add-to-cart {
  display: inline-block;
}

.product-accordion-template .opc-toggle-icon {
  font-size: 22px;
  font-weight: bold;
  color: #555;
  padding: 0 10px;
  cursor: pointer;
  user-select: none;
}

.product-accordion-template .opc-accordion-body {
  display: none;
  padding: 15px;
  border-top: 1px solid #eee;
  background-color: #f9f9f9;
}

.product-accordion-template .opc-product-meta p,
.product-accordion-template .opc-product-attributes ul {
  margin: 5px 0;
  font-size: 14px;
}

.product-accordion-template .opc-product-attributes ul {
  padding-left: 20px;
  list-style-type: disc;
}

.product-accordion-template .opc-accordion-item.active .opc-toggle-icon {
  color: #007cba;
}

@media (max-width: 768px) {
  .product-accordion-template .opc-accordion-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .product-accordion-template .opc-toggle-icon {
    position: absolute;
    top: 15px;
    right: 15px;
  }
}

/* product list template style */
.product-list-template .one-page-checkout-product-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.product-list-template .one-page-checkout-product-item {
  padding: 10px 0;
  border-bottom: 1px solid #eee;
  cursor: pointer;
  position: relative;
}
.product-list-template .one-page-checkout-product-item.loading:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.6);
  z-index: 1;
}
.product-list-template .one-page-checkout-product-container {
  display: flex;
  align-items: center;
}
.product-list-template .one-page-checkout-product-label {
  display: flex;
  align-items: center;
  width: 100%;
  cursor: pointer;
}
.product-list-template .one-page-checkout-product-image-wrap {
  margin-right: 15px;
  margin-left: 10px;
}
.product-list-template .one-page-checkout-product-name {
  flex-grow: 1;
}
.product-list-template .one-page-checkout-product-price {
  margin-left: 15px;
  font-weight: bold;
}
.product-list-template
  .one-page-checkout-product-checkbox:checked
  + .product-list-template
  .one-page-checkout-product-image-wrap
  + .product-list-template
  .one-page-checkout-product-name {
  font-weight: bold;
}

/* product single template style */
.product-single-template .one-page-checkout-product-single {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-bottom: 30px;
}

.product-single-template
  .one-page-checkout-product-single
  a.button.product_type_simple.add_to_cart_button.onepaqucpro_ajax_add_to_cart {
  margin: 0;
}

.product-single-template .product-separator {
  margin: 30px 0;
  border: 0;
  border-top: 1px solid #eee;
}

.product-single-template .one-page-checkout-product-image-container {
  flex: 0 0 45%;
  max-width: 45%;
}

.product-single-template .one-page-checkout-product-image-container {
  flex: 0 0 45%;
  max-width: 45%;
}

.product-single-template .one-page-checkout-product-details {
  flex: 0 0 50%;
  max-width: 50%;
}

.product-single-template .one-page-checkout-product-title {
  font-size: 28px;
  margin-bottom: 10px;
  font-weight: 500;
  color: #333;
}

.product-single-template .one-page-checkout-product-price {
  font-size: 20px;
  margin-bottom: 20px;
  color: #333;
}

.product-single-template .one-page-checkout-product-description {
  margin-bottom: 20px;
  color: #666;
}

.product-single-template .one-page-checkout-product-form {
  margin-bottom: 20px;
}

/* Style the quantity input */
.product-single-template .quantity input.qty {
  width: 70px !important;
  text-align: center !important;
  padding: 8px !important;
  border: 1px solid #ddd !important;
  margin-right: 10px !important;
}

.product-single-template .modify-complete-order {
  display: block;
  margin-top: 15px;
  color: #666;
  text-decoration: none;
  font-size: 14px;
}

.product-single-template .modify-complete-order:before {
  content: "\2193";
  /* Down arrow */
  margin-right: 5px;
}

.product-single-template .one-page-checkout-product-meta {
  margin-top: 20px;
  font-size: 14px;
  color: #666;
}

.product-single-template .one-page-checkout-product-meta span {
  display: block;
  margin-bottom: 5px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .product-single-template .one-page-checkout-product-single {
    flex-direction: column;
  }

  .product-single-template .one-page-checkout-product-image-container,
  .product-single-template .one-page-checkout-product-details {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* product slider template style */

.product-slider-template .one-page-checkout-container {
  padding: 20px;
}

.product-slider-template .one-page-checkout-product {
  text-align: center;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 10px;
  padding: 15px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.product-slider-template .one-page-checkout-product-image img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.product-slider-template .one-page-checkout-product-title {
  font-weight: 600;
  margin: 10px 0 5px;
}

.product-slider-template .one-page-checkout-product-price {
  margin-bottom: 10px;
  color: #444;
}

.product-slider-template .owl-nav button {
  position: absolute;
  top: 40%;
  background: #ccc !important;
  border-radius: 50%;
  padding: 5px 10px !important;
}

.product-slider-template .owl-nav .owl-prev {
  left: -25px;
}

.product-slider-template .owl-nav .owl-next {
  right: -25px;
}

/* product tab template style */
.product-tabs-template .opc-product-add-to-cart a {
  margin: 0 !important;
}

.product-tabs-template .one-page-checkout-container {
  padding: 20px;
}

.product-tabs-template .one-page-checkout-tabs {
  display: flex;
  flex-direction: column;
}

.product-tabs-template .opc-tabs-list {
  display: flex;
  gap: 15px;
  list-style-type: none;
  padding: 0;
  margin-bottom: 20px;
  overflow: auto;
  scrollbar-width: thin;
}

.product-tabs-template .opc-tab-link {
  cursor: pointer;
  padding: 10px 20px;
  background-color: #f1f1f1;
  border: 1px solid #ddd;
  border-radius: 5px;
  transition: background-color 0.3s;
}

.product-tabs-template .opc-tab-link.active {
  background-color: #007cba;
  color: white;
}

.product-tabs-template .opc-tabs-content .opc-tab-pane {
  display: none;
  padding: 20px;
  background-color: #f9f9f9;
  border: 1px solid #ddd;
  border-radius: 5px;
}

.product-tabs-template .opc-tabs-content .opc-tab-pane.active {
  display: block;
}

.product-tabs-template .opc-product-image img {
  width: 80px;
  height: auto;
  border-radius: 8px;
}

.product-tabs-template .opc-product-details {
  flex-grow: 1;
  text-align: left;
}

.product-tabs-template .opc-product-title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 4px;
}

.product-tabs-template .opc-product-price {
  color: #444;
  margin-bottom: 5px;
}

.product-tabs-template .opc-product-add-to-cart {
  display: inline-block;
}

.product-tabs-template .opc-product-meta p,
.product-tabs-template .opc-product-attributes ul {
  margin: 5px 0;
  font-size: 14px;
}

.product-tabs-template .opc-product-attributes ul {
  padding-left: 20px;
  list-style-type: disc;
}
.direct-checkout-button {
  position: relative; /* Required for positioning the :after element */
}
.direct-checkout-button:focus {
  border: none !important;
  display: inline-block !important;
}

/* Basic CSS for the popup */
.variation-popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000; /* Ensure it's on top of everything */
}

.variation-popup {
  background-color: #fff;
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  width: 80%; /* Adjust as needed */
  max-width: 600px;
  position: relative;
}

.variation-popup-close {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 20px;
  cursor: pointer;
  color: #888;
}

.variation-popup-close:hover {
  color: #333;
}

.checkout-popup .woocommerce {
  padding-bottom: 70px;
}

.checkout-popup.onepagecheckoutwidget {
  display: block !important;
}

.onepagecheckoutwidget img {
  box-shadow: none !important;
}

/* Responsive adjustments */
@media (max-width: 600px) {
  .variation-popup {
    width: 95%;
  }
  .checkout-popup {
    padding: 0;
  }
  .product.woocommerce.add_to_cart_inline a.button {
    margin-left: 0;
    margin-top: 10px;
  }
  .checkout-popup .woocommerce {
    padding-bottom: 0px;
  }
}

body.onepaqucpro-variation-modal-open {
  overflow: hidden;
}

.onepaqucpro-variation-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.onepaqucpro-variation-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.6);
  backdrop-filter: blur(6px);
}

.onepaqucpro-variation-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(680px, 100%);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  padding: 24px;
  border-radius: 24px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background:
    radial-gradient(circle at top right, rgba(59, 130, 246, 0.14), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 28px 80px rgba(15, 23, 42, 0.28);
}

.onepaqucpro-variation-modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 34px;
  height: 34px;
  min-width: 34px;
  max-width: 34px;
  padding: 0 !important;
  border: 1px solid #d7e2f2;
  border-radius: 999px;
  background: #eef4ff;
  color: #0f172a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  appearance: none;
  -webkit-appearance: none;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
  transition: background-color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.onepaqucpro-variation-modal__close:hover {
  background: #dbeafe;
  border-color: #bfdbfe;
  transform: rotate(90deg);
}

.onepaqucpro-variation-modal__hero {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin-bottom: 20px;
  padding-right: 52px;
}

.onepaqucpro-variation-modal__summary {
  min-width: 0;
}

.onepaqucpro-variation-modal__media {
  width: 112px;
  height: 112px;
  border-radius: 20px;
  overflow: hidden;
  background: #e2e8f0;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
}

.onepaqucpro-variation-modal__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.onepaqucpro-variation-modal__eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.onepaqucpro-variation-modal__title {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 28px;
  line-height: 1.15;
}

.onepaqucpro-variation-modal__price {
  margin-bottom: 10px;
  color: #0f172a;
  font-size: 18px;
  font-weight: 700;
}

.onepaqucpro-variation-modal__price .amount,
.onepaqucpro-variation-modal__price .woocommerce-Price-amount {
  color: inherit;
  font-weight: inherit;
}

.onepaqucpro-variation-modal__text {
  margin: 0;
  color: #475569;
  font-size: 15px;
  line-height: 1.6;
}

.onepaqucpro-variation-modal__options {
  margin-bottom: 18px;
}

.onepaqucpro-variation-modal .archive-variations-container {
  margin: 0;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid #dbe5f1;
  background: #f8fafc;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.onepaqucpro-variation-modal .var-attr-group {
  align-items: center;
  flex-direction: row;
  gap: 10px 12px;
}

.var-attr-title--archive-hidden {
  display: none;
}

.onepaqucpro-variation-modal .var-attr-title--archive-hidden {
  display: inline-block;
}

.onepaqucpro-variation-modal .var-attr-title {
  min-width: 78px;
  margin-right: 0;
  color: #334155;
  font-weight: 700;
}

.onepaqucpro-variation-modal .var-attr-options {
  gap: 8px;
}

.onepaqucpro-variation-modal .variation-button, .onepaqucpro-variation-modal .var-attr-option:focus,
.onepaqucpro-variation-modal .var-attr-option {
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 999px;
  border-color: #cbd5e1;
  background: #fff;
  font-size: 13px;
  font-weight: 600;
  color: #000;
}

.onepaqucpro-variation-modal .variation-button:hover,
.onepaqucpro-variation-modal .var-attr-option:hover {
  background: #eff6ff;
  border-color: #93c5fd;
  color: #1d4ed8;
}

.onepaqucpro-variation-modal .variation-button.selected,
.onepaqucpro-variation-modal .var-attr-option.selected {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  border-color: #1d4ed8;
  color: #fff;
  box-shadow: 0 10px 20px rgba(37, 99, 235, 0.18);
}

.onepaqucpro-variation-modal .var-attr-option.disabled {
  opacity: 0.35;
}

.onepaqucpro-variation-modal__feedback {
  display: none;
  margin: 0 0 18px;
  padding: 12px 14px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 600;
}

.onepaqucpro-variation-modal__feedback.is-visible {
  display: block;
}

.onepaqucpro-variation-modal__feedback.is-error {
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
}

.onepaqucpro-variation-modal__feedback.is-success {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
}

.onepaqucpro-variation-modal__actions {
  display: flex;
  gap: 12px;
}

.onepaqucpro-variation-modal__action {
  flex: 1 1 0;
  min-height: 48px;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 700;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.onepaqucpro-variation-modal__action:hover {
  transform: translateY(-1px);
}

.onepaqucpro-variation-modal__action--cart {
  background: #e2e8f0;
  color: #0f172a;
}

.onepaqucpro-variation-modal__action--buy {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  color: #fff;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.18);
}

.onepaqucpro-variation-modal__action.is-loading,
.onepaqucpro-variation-modal__action:disabled {
  opacity: 0.7;
  cursor: wait;
  transform: none;
}

@media (max-width: 640px) {
  .onepaqucpro-variation-modal {
    padding: 16px;
  }

  .onepaqucpro-variation-modal__dialog {
    max-height: calc(100vh - 32px);
    padding: 18px;
    border-radius: 20px;
  }

  .onepaqucpro-variation-modal__hero {
    grid-template-columns: 1fr;
    padding-right: 0;
  }

  .onepaqucpro-variation-modal__media {
    width: 84px;
    height: 84px;
  }

  .onepaqucpro-variation-modal__title {
    font-size: 22px;
  }

  .onepaqucpro-variation-modal .var-attr-title {
    min-width: 0;
  }

  .onepaqucpro-variation-modal__actions {
    flex-direction: column;
  }
}

.opqcfw-btn {
  margin-top: 10px !important;
}
@media (min-width: 768px) {
  .single .summary.entry-summary .opqcfw-btn {
    margin-top: 0px !important;
    margin-left: 10px;
    margin-right: 10px;
  }
}
@media (max-width: 768px) {
  .single .summary.entry-summary .opqcfw-btn {
    margin-top: 0 !important;
    margin-left: 3px !important;
  }
}

/* new loading effect */

:root {
  --hue: 223;
  --bg: hsl(var(--hue), 10%, 90%);
  --fg: hsl(var(--hue), 10%, 10%);
  --primary: hsl(var(--hue), 90%, 55%);
  --trans-dur: 0.3s;
}
.plugincy_preloader {
  text-align: center;
  max-width: 20em;
  width: 100%;
}
.plugincy_preloader__text {
  position: relative;
  height: 1.5em;
}
.plugincy_preloader__msg {
  animation: msg 0.3s 13.7s linear forwards;
  position: absolute;
  width: 100%;
}
.plugincy_preloader__msg--last {
  animation-direction: reverse;
  animation-delay: 14s;
  visibility: hidden;
}
.plugincy_cart {
  display: block;
  margin: 0 auto 1.5em auto;
  width: 4em;
  height: 4em;
}
.plugincy_cart__lines,
.plugincy_cart__top,
.plugincy_cart__wheel1,
.plugincy_cart__wheel2,
.plugincy_cart__wheel-stroke {
  animation: plugincy_cartLines 2s ease-in-out infinite;
}
.plugincy_cart__lines {
  stroke: var(--primary);
}
.plugincy_cart__top {
  animation-name: plugincy_cartTop;
}
.plugincy_cart__wheel1 {
  animation-name: plugincy_cartWheel1;
  transform: rotate(-0.25turn);
  transform-origin: 43px 111px;
}
.plugincy_cart__wheel2 {
  animation-name: plugincy_cartWheel2;
  transform: rotate(0.25turn);
  transform-origin: 102px 111px;
}
.plugincy_cart__wheel-stroke {
  animation-name: plugincy_cartWheelStroke;
}
.plugincy_cart__track {
  stroke: hsla(var(--hue), 10%, 10%, 0.1);
  transition: stroke var(--trans-dur);
}

/* Dark theme */
@media (prefers-color-scheme: dark) {
  :root {
    --bg: hsl(var(--hue), 10%, 10%);
    --fg: hsl(var(--hue), 10%, 90%);
  }
  .plugincy_cart__track {
    stroke: hsla(var(--hue), 10%, 90%, 0.1);
  }
}

/* Animations */
@keyframes msg {
  from {
    opacity: 1;
    visibility: visible;
  }
  99.9% {
    opacity: 0;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes plugincy_cartLines {
  from,
  to {
    opacity: 0;
  }
  8%,
  92% {
    opacity: 1;
  }
}
@keyframes plugincy_cartTop {
  from {
    stroke-dashoffset: -338;
  }
  50% {
    stroke-dashoffset: 0;
  }
  to {
    stroke-dashoffset: 338;
  }
}
@keyframes plugincy_cartWheel1 {
  from {
    transform: rotate(-0.25turn);
  }
  to {
    transform: rotate(2.75turn);
  }
}
@keyframes plugincy_cartWheel2 {
  from {
    transform: rotate(0.25turn);
  }
  to {
    transform: rotate(3.25turn);
  }
}
@keyframes plugincy_cartWheelStroke {
  from,
  to {
    stroke-dashoffset: 81.68;
  }
  50% {
    stroke-dashoffset: 40.84;
  }
}

a.opqvfw-btn.display-text_icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cart-items.empty-cart-items {
  height: 72vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cart-items.empty-cart-items .empty-cart {
  text-align: center;
}
.loading-spinner {
  position: relative;
}
.loading-spinner::after {
  content: "";
  display: inline-block;
  margin-left: 8px;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-top-color: #333;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
  vertical-align: middle;
  position: absolute;
  top: 0;
  left: 0;
}
.loading {
  opacity: 0.7;
  cursor: not-allowed;
}

.coupon-message.loading {
  color: #666;
  background-color: #f0f0f0;
}
.removing {
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
  opacity: 1;
}

.removing.fade-out {
  opacity: 0;
  transform: translateY(-10px);
}

button#place_order {
  width: max-content !important;
  margin: 0 !important;
  max-height: 57px;
}
.single-product .variations_form {
  display: flex;
  flex-direction: column;
}

.plugincy-quick-checkout.overlay_thumbnail_hover {
  display: none;
}
.product:hover > .plugincy-quick-checkout.overlay_thumbnail_hover {
  display: block;
}
.plugincy-quick-checkout.overlay_thumbnail_hover,
.plugincy-quick-checkout.overlay_thumbnail {
  position: absolute;
  top: 50px;
  left: 0;
  border-radius: 50%;
  z-index: 10;
}
.product:hover > .plugincy-quick-checkout.overlay_thumbnail_hover,
.product:hover > .plugincy-quick-checkout.overlay_thumbnail {
  z-index: 1000;
}
.plugincy-quick-checkout.overlay_thumbnail_hover a,
.plugincy-quick-checkout.overlay_thumbnail a {
  padding: 10px;
  margin: 0 !important;
  min-width: 20px;
  position: relative;
}
.plugincy-quick-checkout.overlay_thumbnail_hover a .onepaquc-button-text,
.plugincy-quick-checkout.overlay_thumbnail a .onepaquc-button-text {
  position: absolute;
  top: 0;
  left: 70%;
}
.plugincy-quick-checkout.overlay_thumbnail_hover a .onepaquc-button-text,
.plugincy-quick-checkout.overlay_thumbnail a .onepaquc-button-text {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 127%;
  width: max-content;
  padding: 1px 10px;
  border-radius: 8px;
  font-size: 10px;
  display: none;
}
.plugincy-quick-checkout.overlay_thumbnail_hover a .onepaquc-button-text:before,
.plugincy-quick-checkout.overlay_thumbnail a .onepaquc-button-text:before {
  position: absolute;
  transform: rotate(20deg) translateY(-50%);
  left: -8px;
  top: 50%;
  display: none;
}
.plugincy-quick-checkout.overlay_thumbnail_hover a,
.plugincy-quick-checkout.overlay_thumbnail a {
  padding: 16px !important;
  margin: 0 !important;
  min-width: 30px;
  position: relative;
  min-height: 30px;
  max-height: 30px;
  width: 30px;
  border-radius: 50%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.plugincy-quick-checkout.overlay_thumbnail_hover a:after,
.plugincy-quick-checkout.overlay_thumbnail_hover a:before,
.plugincy-quick-checkout.overlay_thumbnail a:after,
.plugincy-quick-checkout.overlay_thumbnail a:before {
  display: none;
}
.plugincy-quick-checkout.overlay_thumbnail a svg,
.plugincy-quick-checkout.overlay_thumbnail_hover a svg {
  margin: 0 !important;
}
.plugincy-quick-checkout.overlay_thumbnail_hover:hover,
.plugincy-quick-checkout.overlay_thumbnail:hover {
  .onepaquc-button-text,
  .onepaquc-button-text:before {
    display: block;
  }
}

.direct-checkout-button {
  text-decoration: none !important;
}

.archive-variations-container {
  margin-top: 10px;
  margin-bottom: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Overlay behavior */
.overlay-variations {
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
  background: rgba(255, 255, 255, 0.9);
  padding: 10px;
  border-radius: 5px;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.product:hover > .overlay-variations {
  z-index: 1000;
  opacity: 1;
}

.archive-variations-container:not(.overlay-variations) {
  opacity: 1;
}

.bottom-48 {
  bottom: 48px;
}

.product {
  position: relative;
}

/* COMBINE buttons */
.variation-button {
  background-color: #f7f7f7;
  border: 1px solid #ddd;
  padding: 6px 10px;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.2s;
  color: #000;
  font-size: 12px;
  line-height: 1.2;
}

.variation-button:hover {
  background: #eaeaea;
}

.variation-button.selected {
  background: #4caf50;
  color: #fff;
  border-color: #4caf50;
}

/* SEPARATE layout */
.separate-attrs {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.var-attr-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.var-attr-title {
  font-weight: 600;
  margin-right: 6px;
}

.var-attr-options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.var-attr-option {
  background-color: #f7f7f7;
  color: #000;
  border: 1px solid #ddd;
  padding: 4px 8px;
  border-radius: 3px;
  cursor: pointer;
  font-size: 12px;
  line-height: 1.2;
  transition: all 0.2s;
}

.var-attr-option:hover {
  background: #eaeaea;
}

.var-attr-option.selected {
  background: #4caf50;
  color: #fff;
  border-color: #4caf50;
}

.var-attr-option.disabled {
  opacity: 0.5;
  pointer-events: none;
}

/* themewise css */

/* :has(.archive-variations-container) {
  flex-wrap: wrap;
} */

.direct-checkout-button {
  min-width: fit-content !important;
}

.wd-action-btn.wd-style-icon {
  flex-direction: column;
}

.wd-action-btn.wd-style-icon .direct-checkout-button:before {
  display: block;
  opacity: 1;
  position: relative;
}

/* Our Icons */
.ricons.ricons-eye {
  content: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 0.5 0.5" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h.5v.5H0z"/><path fill="%23fff" d="M.458.238a.257.257 0 0 0-.435.027q.008.015.02.03a.256.256 0 0 0 .415 0l.02-.03zM.253.18C.266.167.286.167.298.18s.013.033 0 .045-.033.013-.045 0S.24.192.253.18M.25.373A.23.23 0 0 1 .057.268.23.23 0 0 1 .175.18.1.1 0 0 0 .15.248a.1.1 0 0 0 .1.102.1.1 0 0 0 .102-.1V.247q0-.04-.028-.068a.22.22 0 0 1 .118.088.23.23 0 0 1-.193.105"/></svg>');
}
.ricons.ricons-search {
  content: url('data:image/svg+xml,<svg width="20" height="20" fill="none" viewBox="0 0 12.8 12.8" xmlns="http://www.w3.org/2000/svg"><path fill="%23fff" d="M10.4 11.2 7.975 8.775q-1.05.8-2.375.8-1.075 0-2-.525-.925-.55-1.45-1.475-.55-.925-.55-2t.55-2q.525-.925 1.45-1.45.925-.55 2-.55t2 .55q.925.525 1.475 1.45.525.925.525 2 0 1.35-.825 2.4L11.2 10.4zM5.575 8.4q1.175 0 2-.825.8-.825.8-1.975 0-1.175-.8-1.975-.825-.825-2-.825-1.15 0-1.975.825-.825.8-.825 1.975 0 1.15.825 1.975t1.975.825"/></svg>');
}
.ricons.ricons-zoom {
  content: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 0.6 0.6" xmlns="http://www.w3.org/2000/svg"><g fill="none"><path d="M.6 0v.6H0V0zM.315.581.313.582H.312L.31.581H.309v.012l.003.002.003-.002V.582M.322.579.317.581v.011l.005.002h.001zL.321.578m-.018 0H.302L.301.593v.001L.306.592V.581z"/><path d="M.1.375A.025.025 0 0 1 .125.4v.075H.2a.025.025 0 1 1 0 .05H.125a.05.05 0 0 1-.05-.05V.4A.025.025 0 0 1 .1.375m.4 0a.025.025 0 0 1 .025.022v.078a.05.05 0 0 1-.046.05H.4a.025.025 0 0 1-.003-.05h.078V.4A.025.025 0 0 1 .5.375m-.025-.3a.05.05 0 0 1 .05.046V.2a.025.025 0 0 1-.05.003V.125H.4a.025.025 0 0 1-.003-.05H.4zM.2.075a.025.025 0 0 1 .003.05H.125V.2a.025.025 0 0 1-.05.003V.125a.05.05 0 0 1 .046-.05h.004z" fill="%23fff"/></g></svg> ');
}
.ricons.ricons-preview {
  content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="%23fff" viewBox="0 0 20 20" xml:space="preserve" width="20" height="20"><path d="M3.333 2.5c-0.917 0 -1.667 0.75 -1.667 1.667v11.667c0 0.917 0.75 1.667 1.667 1.667h13.333c0.917 0 1.667 -0.75 1.667 -1.667V4.167c0 -0.917 -0.75 -1.667 -1.667 -1.667zm0 1.667h13.333v11.667H3.333zm6.667 2.5c-2.75 0 -5 2.75 -5 3.333s2.25 3.333 5 3.333 5 -2.917 5 -3.333 -2.25 -3.333 -5 -3.333m0 1.25V9.167c0 0.5 0.333 0.833 0.833 0.833h1.25c0 1.333 -1.25 2.333 -2.667 2 -0.667 -0.167 -1.25 -0.75 -1.5 -1.5 -0.25 -1.333 0.75 -2.583 2.083 -2.583"/><path style="fill:none" d="M0 0h20v20H0z"/></svg> ');
}

.display-text_icon .ricons {
  padding-right: 5px;
}

a.remove-item-checkout {
  cursor: pointer;
}

/* WooCommerce password toggle fallback when core layout CSS is not loaded */
.woocommerce form .password-input,
.woocommerce-page form .password-input {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  position: relative !important;
  width: 100%;
}

.woocommerce form .password-input input[type="password"],
.woocommerce-page form .password-input input[type="password"] {
  padding-right: 2.75rem;
}

.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input {
  -webkit-appearance: none;
  appearance: none;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #111;
  cursor: pointer;
  font-size: 0;
  height: 22px !important;
  line-height: 1;
  margin: 0 !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  right: 0.7em;
  text-decoration: none;
  top: 50%;
  transform: translateY(-50%);
  width: 22px !important;
}

.woocommerce form .show-password-input::before,
.woocommerce-page form .show-password-input::before {
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z" fill="%23111111"/></svg>');
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: 22px;
  width: 22px;
}

.woocommerce form .show-password-input.display-password::before,
.woocommerce-page form .show-password-input.display-password::before {
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.3 9.49999C15 4.89999 8.50002 3.79999 3.90002 7.19999C2.70002 8.09999 1.70002 9.29999 0.900024 10.6C1.10002 11 1.40002 11.4 1.70002 11.8C5.00002 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.79999 18.3 9.49999ZM10.1 7.19999C10.6 6.69999 11.4 6.69999 11.9 7.19999C12.4 7.69999 12.4 8.49999 11.9 8.99999C11.4 9.49999 10.6 9.49999 10.1 8.99999C9.60003 8.49999 9.60003 7.69999 10.1 7.19999ZM10 14.9C6.90002 14.9 4.00002 13.3 2.30002 10.7C3.50002 8.99999 5.10002 7.79999 7.00002 7.19999C6.30002 7.99999 6.00002 8.89999 6.00002 9.89999C6.00002 12.1 7.70002 14 10 14C12.2 14 14.1 12.3 14.1 9.99999V9.89999C14.1 8.89999 13.7 7.89999 13 7.19999C14.9 7.79999 16.5 8.99999 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z" fill="%23111111"/></svg>');
}
