/*!
 * web.lab — WooCommerce (καλάθι, checkout, my.lab)
 *
 * Μόνο ό,τι χρειάζεται επιπλέον το markup του Woo πάνω στο css/style.css:
 * μηνύματα (notices), wrappers που ανανεώνει το wc-checkout.js, links στη
 * θέση κουμπιών του design (my.lab) και οι σελίδες που δεν υπάρχουν στο
 * HTML (παραγγελία στο my.lab, κωδικός).
 */

/* ---------- Μηνύματα του Woo ---------- */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
  list-style: none;
  margin: 0 0 24px;
  padding: 14px 18px;
  border-radius: 14px;
  border: 1px solid var(--pink-tint-border);
  background: var(--pink-tint);
  color: var(--ink);
  font-size: 15px;
  line-height: 1.5;
}
.woocommerce-error {
  color: var(--error);
}
.woocommerce-error li + li {
  margin-top: 6px;
}
.woocommerce-error a,
.woocommerce-message a,
.woocommerce-info a {
  color: inherit;
  font-weight: 600;
}
.woocommerce-message .button,
.woocommerce-info .button {
  float: right;
  margin-left: 12px;
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
  color: var(--ink);
}
.woocommerce-NoticeGroup {
  flex: 1 1 100%;
}
.woocommerce-NoticeGroup [role="alert"] > ul {
  margin: 0;
}

/* ---------- Καλάθι / checkout ---------- */
a.cart-go {
  text-decoration: none;
}
a.cart-go:hover {
  color: #fff;
}
/* Το order attribution του Woo βάζει ένα στοιχείο με κρυφά πεδία πρώτο στη στήλη */
.checkout wc-order-attribution-inputs {
  display: none;
}
.co-details {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
/* Η σύνοψη: το wc-checkout.js ξαναγράφει το .wl-review σε κάθε update_checkout.
   (Στην πληρωμή παραγγελίας #order_review είναι η φόρμα: μένει .cart-cols) */
div#order_review,
.wl-review {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
/* Τρόποι πληρωμής: radio του Woo κρυφό, κουμπί του design, πεδία gateway από κάτω */
.co-methods .wc_payment_method {
  display: contents;
}
.co-methods .m-icon {
  flex: none;
  display: flex;
  align-items: center;
  gap: 6px;
}
.co-methods .m-icon img {
  max-height: 24px;
  width: auto;
}
.co-methods .m-note p {
  margin: 0;
}
.co-methods .payment_box {
  margin: -4px 0 6px;
  padding: 18px 20px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--border);
  font-size: 15px;
}
.co-empty {
  font-size: 15px;
  color: var(--muted);
}
.fld-note {
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted-2);
}
.cart-done.is-failed .done-title {
  max-width: 16ch;
}
/* Το blockUI του Woo όσο ανανεώνεται η σύνοψη: απαλό, όχι λευκό κουτί */
.cart-flow .blockUI.blockOverlay {
  background: rgba(247, 246, 243, 0.55) !important;
  border-radius: 24px;
}

/* ---------- my.lab: «Καλώς ήρθατε.» μετά τη σύνδεση (wl_mylab_welcome) ----------
   Η σύνδεση τελειώνει με ροζ υγρό (js/mylab-login.js)· το my.lab ανοίγει
   γεμάτο ροζ με το «Καλώς ήρθατε.» και το υγρό αδειάζει με κύμα. */
.ml-welcome {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: var(--pink);
  color: #fff;
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(44px, 7vw, 104px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  text-align: center;
  pointer-events: none;
  clip-path: polygon(0% 0%, 20% 0%, 40% 0%, 60% 0%, 80% 0%, 100% 0%, 100% 100%, 0% 100%);
  animation: mlWelcome 1100ms cubic-bezier(0.65, 0, 0.35, 1) 900ms forwards;
}
.ml-welcome .dot {
  color: var(--ink);
}
.ml-welcome > span {
  animation: mlWelcomeIn 700ms cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes mlWelcome {
  55% {
    clip-path: polygon(0% 46%, 20% 52%, 40% 47%, 60% 54%, 80% 49%, 100% 45%, 100% 100%, 0% 100%);
  }
  100% {
    clip-path: polygon(0% 104%, 20% 106%, 40% 103%, 60% 107%, 80% 104%, 100% 105%, 100% 100%, 0% 100%);
    visibility: hidden;
  }
}
@keyframes mlWelcomeIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
}
@keyframes mlWelcomeFade {
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ml-welcome {
    animation: mlWelcomeFade 300ms ease 700ms forwards;
  }
  .ml-welcome > span {
    animation: none;
  }
}

/* ---------- my.lab: εφαρμογή (links στη θέση κουμπιών του design) ---------- */
a.ml-nav-i,
a.ml-stat,
.ml-act a.t {
  text-decoration: none;
}
a.ml-nav-i:hover {
  color: #fff;
}
.ml-act a.t {
  color: var(--ink);
}
.ml-act a.t:hover {
  color: var(--pink);
}
.ml-user .ml-logout {
  color: var(--on-dark-muted);
  font-size: 16px;
  text-decoration: none;
}
.ml-user .ml-logout:hover {
  color: #fff;
}
.ml-tabs a {
  flex: 1;
  min-height: 52px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  border-radius: 12px;
  color: var(--input-border);
  font-size: 11px;
  text-decoration: none;
}
.ml-tabs a[aria-current="page"] {
  color: #fff;
}
.ml-tabs a > span {
  font-size: 18px;
}
.ml-pend-go {
  height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.ml-pend-go:hover {
  background: var(--pink);
  color: #fff;
}
a.b-pink {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.ml-empty {
  font-size: 15px;
  color: var(--muted);
}
.ml-main > .woocommerce-error,
.ml-main > .woocommerce-message,
.ml-main > .woocommerce-info {
  max-width: 880px;
}
.ml-row a.t {
  color: var(--ink);
  text-decoration: none;
}
.ml-row .acts {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.ml-pager {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 20px;
}

/* Μία παραγγελία */
.ml-order {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 880px;
}
.ml-order-hd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.ml-order-hd .mono-s {
  font-family: var(--mono);
  font-size: 13px;
  color: var(--muted);
}
.ml-order-hd .b-pink {
  margin-left: auto;
}
.ml-order-items {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #f0eee9;
}
.ml-order-items > li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid #f0eee9;
}
.ml-order-items .c1 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.ml-order-items .t {
  font-weight: 600;
}
.ml-order-items .s {
  font-size: 13px;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.ml-order-items .amt {
  font-weight: 600;
  white-space: nowrap;
}
.ml-order-items .amt small {
  font-weight: 400;
  color: var(--muted);
}
.ml-answers {
  margin-top: 4px;
  font-size: 13px;
  color: var(--muted);
}
.ml-answers summary {
  cursor: pointer;
  color: var(--ink);
}
.ml-answers ul {
  margin: 8px 0 0;
  padding-left: 18px;
}
.ml-order .cs-total dd {
  font-size: 26px;
}

/* Προφίλ */
.ml-profile-h {
  grid-column: 1 / -1;
  margin: 8px 0 0;
  padding-top: 18px;
  border-top: 1px solid #f0eee9;
  font-size: 14px;
  font-weight: 600;
}

/* «+ Νέο αίτημα» της μπάρας ως link (plugin my.lab) — ίδιο με το κουμπί του design */
a.ml-new {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: #fff;
}
a.ml-new:hover {
  color: #fff;
}
