/* ==========================================================================
   Fredi Tools — WooCommerce adapters
   Χαρτογράφηση του default WooCommerce markup πάνω στο design system.
   ========================================================================== */

/* ---------- General ---------- */
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap;
}
.logo__img { max-height: 44px; width: auto; display: block; }

/* ---------- Buttons ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  padding: 0 20px;
  background: var(--red);
  color: #fff;
  border: 1px solid var(--red);
  border-radius: var(--r-sm);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: background .15s var(--ease), border-color .15s var(--ease);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover { background: var(--red-2); border-color: var(--red-2); color: #fff; }
.woocommerce a.button.alt,
.woocommerce button.button.alt { background: var(--black); border-color: var(--black); }
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: #000; border-color: #000; }

/* ---------- Notices ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  list-style: none;
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-left: 3px solid var(--green);
  border-radius: var(--r-sm);
  background: var(--surface);
  color: var(--ink-2);
  font-size: 13px;
}
.woocommerce-error { border-left-color: var(--red); }
.woocommerce-info { border-left-color: var(--ink-3); }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }
.woocommerce-message .button { margin-left: auto; }

/* ---------- Product card price ---------- */
.p-card__price-row .woocommerce-Price-amount {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.p-card__price-row ins .woocommerce-Price-amount,
.p-card__price-row:has(ins) .woocommerce-Price-amount { color: var(--red); }
.p-card__price-row del .woocommerce-Price-amount {
  font-size: 12px;
  font-weight: 400;
  color: var(--ink-3);
  text-decoration: line-through;
}
.p-card__price-row ins { text-decoration: none; }
.p-card__price-row .price { font-size: inherit; }

/* ---------- Ordering ---------- */
.shop__sort .woocommerce-ordering { margin: 0; }
.shop__sort .woocommerce-ordering select,
.woocommerce-ordering select {
  height: 34px;
  padding: 0 30px 0 10px;
  font-size: 12px;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--line-2);
  border-radius: var(--r-sm);
}
.woocommerce-result-count { display: none; }

/* ---------- Pagination ---------- */
.woocommerce-pagination { margin-top: 28px; }
.woocommerce-pagination ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}
.woocommerce-pagination ul li { border: 0; margin: 0; }
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: grid;
  place-items: center;
  min-width: 34px;
  height: 34px;
  padding: 0 9px;
  border: 1px solid var(--line-2);
  border-radius: var(--r-sm);
  background: var(--surface);
  color: var(--ink-2);
  font-size: 12.5px;
  text-decoration: none;
}
.woocommerce-pagination ul li span.current { background: var(--ink); border-color: var(--ink); color: #fff; }
.woocommerce-pagination ul li a:hover { border-color: var(--ink-3); color: var(--ink); }

/* ---------- Star ratings ---------- */
.star-rating { color: #e8a317; font-size: 12px; }
.woocommerce-product-rating { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.woocommerce-review-link { font-size: 11.5px; color: var(--ink-3); }

/* ---------- Single product (default WC markup) ---------- */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; padding: 24px 0 0; align-items: start; }
.woocommerce div.product .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0; overflow: visible; }
.woocommerce div.product .woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce div.product .woocommerce-product-gallery__image img { border-radius: var(--r); background: var(--surface); }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 6px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 100%; float: none; margin: 0; }
.woocommerce div.product div.images .flex-control-thumbs { margin-bottom: 6px; }
.woocommerce div.product div.summary { width: 100% !important; float: none !important; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 22px; }
.woocommerce div.product .product_title { font-size: clamp(22px, 2.2vw, 30px); font-weight: 800; letter-spacing: -.02em; line-height: 1.18; margin-bottom: 8px; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--red); font-size: 31px; font-weight: 800; }
.woocommerce div.product p.price del { font-size: 14px; color: var(--ink-3); font-weight: 400; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 14px 0; }
.woocommerce div.product form.cart .quantity .qty { height: 48px; width: 80px; border: 1px solid var(--line-2); border-radius: var(--r-sm); }
.woocommerce div.product form.cart .button { height: 48px; }
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 30px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 0 20px 20px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 4px; margin: 0 0 16px; padding: 0; border-bottom: 1px solid var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; background: none; border-radius: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 14px; font-size: 12.5px; font-weight: 500; color: var(--ink-3); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ink); border-bottom: 2px solid var(--red); }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .related,
.woocommerce div.product .upsells { grid-column: 1 / -1; margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--line); }
.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 { font-size: 20px; font-weight: 800; margin-bottom: 16px; }
.woocommerce div.product .related ul.products,
.woocommerce div.product .upsells ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; }
.woocommerce div.product .related ul.products li.product,
.woocommerce div.product .upsells ul.products li.product { width: 100% !important; float: none !important; margin: 0 !important; }


/* ---------- Layout wrappers for default Woo templates ---------- */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.single-product .woocommerce,
.woocommerce-account .woocommerce {
  width: min(1280px, 100% - 48px);
  margin-inline: auto;
}

/* Το checkout/cart/account ζουν ήδη μέσα σε .container > .page-layout (page.php).
   Το δεύτερο περιθώριο (100% - 48px) έκοβε το πλάτος στα 270px σε οθόνη 390px. */
.woocommerce-checkout .page-layout > .woocommerce,
.woocommerce-cart .page-layout > .woocommerce,
.woocommerce-account .page-layout > .woocommerce {
  width: 100%;
  margin-inline: 0;
}
/* Το multi-step checkout είναι μονόστηλο: σε 1280px οι 2στηλες γραμμές πεδίων
   απλώνουν υπερβολικά. Κρατάμε comfortable πλάτος και κεντράρουμε. */
.woocommerce-checkout .page-layout > .woocommerce {
  max-width: 940px;
  margin-inline: auto;
}

/* ---------- Cart / checkout basics ---------- */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce { padding: 24px 0 56px; }
.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); border-collapse: separate; border-spacing: 0; }
.woocommerce table.shop_table th { background: var(--surface-2); font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); }
.woocommerce table.shop_table td,
.woocommerce table.shop_table th { padding: 12px 14px; border-color: var(--line); font-size: 13px; }
.woocommerce .cart_totals,
.woocommerce .cross-sells { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 16px 18px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  height: 44px;
  padding: 0 12px;
  border: 1px solid var(--line-2);
  border-radius: var(--r-sm);
  background: var(--surface);
  font-size: 14px;
}
.woocommerce form .form-row label { font-size: 12px; font-weight: 600; color: var(--ink-2); }
.woocommerce .select2-container--default .select2-selection--single { height: 44px; border-color: var(--line-2); border-radius: var(--r-sm); }
#add_payment_method #payment,
.woocommerce-checkout #payment { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--line); }
.woocommerce-checkout #payment div.payment_box { background: var(--surface-2); color: var(--ink-2); }
.woocommerce-checkout #payment div.payment_box::before { display: none; }

/* ---------- Checkout: μέθοδοι πληρωμής ---------- */
.woocommerce-checkout #payment ul.woocommerce-SavedPaymentMethods {
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
}
.woocommerce-checkout #payment ul.woocommerce-SavedPaymentMethods li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 8px;
  padding: 11px 12px;
  border: 1px solid var(--line-2);
  border-radius: var(--r-sm);
  background: var(--surface);
  font-size: 13px;
  line-height: 1.45;
}
.woocommerce-checkout #payment ul.woocommerce-SavedPaymentMethods li:last-child { margin-bottom: 0; }
.woocommerce-checkout #payment ul.woocommerce-SavedPaymentMethods input[type="radio"],
.woocommerce-checkout #payment ul.woocommerce-SavedPaymentMethods input[type="checkbox"] {
  flex: 0 0 auto;
  margin: 2px 0 0;
}
.woocommerce-checkout #payment ul.woocommerce-SavedPaymentMethods label {
  flex: 1 1 auto;
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.45;
  color: var(--ink);
}
.woocommerce-checkout #payment ul.woocommerce-SavedPaymentMethods li:has(input:checked) {
  border-color: var(--red);
  box-shadow: inset 0 0 0 1px var(--red);
}

/* Αντικαταβολή ≥500 €: το plugin βάζει δικό του μπλε κουτί — το φέρνουμε στην παλέτα. */
.woocommerce-checkout .fredi-cod-card-notice {
  background: var(--surface-2);
  border: 1px solid var(--line-2);
  border-left: 4px solid var(--red);
  border-radius: var(--r-sm);
  padding: 12px 14px;
  color: var(--ink-2);
  font-size: 12.5px;
  line-height: 1.6;
}
.woocommerce-checkout .fredi-cod-card-notice strong { color: var(--ink); }
.woocommerce-checkout .fredi-cod-card-notice-icon { font-size: 18px; }

/* Στο κινητό τα κουτιά πληρωμής ήταν 3 φορές ένθετα (14 + 13.8 + 14px padding). */
@media (max-width: 760px) {
  .woocommerce-checkout .container,
  .woocommerce-cart .container,
  .woocommerce-account .container {
    padding-left: 0;
    padding-right: 0;
  }
  .woocommerce-checkout form.checkout { padding: 18px 0 48px; }
  .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method { padding: 12px; }
  .woocommerce-checkout #payment div.payment_box { padding: 12px; margin: 12px 0 0; }
}

/* ---------- Account ---------- */
.woocommerce-account .woocommerce { padding: 24px 0 56px; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: 240px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; background: var(--surface); }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--line); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 11px 14px; font-size: 13px; color: var(--ink-2); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--red); font-weight: 600; }

/* Κουμπιά ενεργειών παραγγελίας (Πίνακας ελέγχου → Παραγγελίες) */
.woocommerce table.shop_table td.woocommerce-orders-table__cell-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}
.woocommerce table.shop_table td.woocommerce-orders-table__cell-order-actions .button {
  margin: 0;
  height: 36px;
  padding: 0 14px;
  font-size: 11.5px;
  white-space: nowrap;
}
@media (max-width: 760px) {
  /* Το WooCommerce βάζει `td { display:block }` στις responsive tables — χρειάζεται
     μεγαλύτερη ειδικότητα για να γίνει grid με κενά. */
  .woocommerce table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-actions,
  .woocommerce-page table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-actions {
    display: grid;
    gap: 8px;
    justify-content: stretch;
  }
  .woocommerce table.shop_table td.woocommerce-orders-table__cell-order-actions .button {
    width: 100%;
    height: 40px;
  }
}

/* ---------- Theme additions ---------- */
.cat-card__initial {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 22px;
  font-weight: 800;
  color: var(--ink-3);
  text-transform: uppercase;
}
.filter-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 0;
  font-size: 12px;
  color: var(--ink-2);
}
.filter-link:hover { color: var(--red); }
.filter-link em { font-style: normal; font-size: 10.5px; color: var(--ink-3); }
.filters__head a { font-size: 11px; color: var(--ink-3); text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 960px) {
  .woocommerce div.product { grid-template-columns: 1fr; }
  .woocommerce div.product .related ul.products,
  .woocommerce div.product .upsells ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; margin-bottom: 20px; }
}

.footer__links li { list-style: none; }
.footer__links li a { font-size: 12px; color: #a3a3a6; }
.footer__links li a:hover { color: #fff; }

/* single product CTA */
.single_add_to_cart_button {
  background: var(--red) !important;
  border-color: var(--red) !important;
  color: #fff !important;
}
.single_add_to_cart_button:hover { background: var(--red-2) !important; border-color: var(--red-2) !important; }
.woocommerce div.product .summary .price { color: var(--red); font-size: 31px; font-weight: 800; }
.woocommerce div.product .summary .price del { font-size: 14px; color: var(--ink-3); font-weight: 400; }
.woocommerce div.product .summary .stock { font-size: 12px; color: var(--amber); }


/* ==========================================================================
   Custom product page (single-product.php)
   ========================================================================== */
.pdp .buybox form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
  margin: 10px 0 14px;
}
.pdp .buybox .stock { display: none; }
.pdp .buybox form.cart .quantity {
  display: flex;
  align-items: center;
  height: 48px;
  border: 1px solid var(--line-2);
  border-radius: var(--r-sm);
  overflow: hidden;
  background: var(--surface);
}
.pdp .buybox form.cart .qty {
  width: 64px;
  height: 46px;
  border: 0;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
}
/* Όταν η ποσότητα δεν αλλάζει (stock 1 ή «πωλείται μεμονωμένα») η WooCommerce
   τυπώνει input type="hidden" — το κενό κουτί άφηνε μια γραμμή 2px δίπλα στο
   κουμπί. Το κρύβουμε τελείως, οπότε το κουμπί παίρνει όλο το πλάτος. */
.quantity:has(> input[type="hidden"]) { display: none !important; }
.pdp .buybox form.cart .single_add_to_cart_button {
  flex: 1;
  min-width: 220px;
  height: 48px;
}
.pdp .buybox .variations {
  width: 100%;
  margin: 0 0 8px;
  border-collapse: separate;
  border-spacing: 0 6px;
}
.pdp .buybox .variations th,
.pdp .buybox .variations td { padding: 2px 0; text-align: left; font-size: 12px; vertical-align: middle; }
.pdp .buybox .variations th { width: 110px; font-weight: 600; color: var(--ink-2); }
.pdp .buybox .variations select {
  width: 100%;
  height: 40px;
  padding: 0 32px 0 10px;
  border: 1px solid var(--line-2);
  border-radius: var(--r-sm);
  background: var(--surface);
  font-size: 13px;
}
.pdp .buybox .woocommerce-variation-price { font-size: 20px; font-weight: 800; color: var(--red); margin-bottom: 6px; }
.pdp .buybox .woocommerce-variation-availability { font-size: 12px; color: var(--ink-3); }
.pdp .buybox .reset_variations { font-size: 11px; color: var(--ink-3); }
.buybox__excerpt { font-size: 12.5px; line-height: 1.55; color: var(--ink-2); margin: 4px 0 2px; }
.buybox__excerpt p { margin-bottom: 6px; }
.buybox__stock.out-of-stock { color: var(--red); }
.buybox__stock.available-on-backorder { color: var(--amber); }

/* reviews inside the tab */
.pdp__panel .woocommerce-Reviews-title { font-size: 16px; font-weight: 800; margin-bottom: 12px; }
.pdp__panel #comments { margin-bottom: 20px; }
.pdp__panel .commentlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pdp__panel .commentlist li { margin: 0; }
.pdp__panel .comment_container {
  display: flex;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surface-2);
}
.pdp__panel .comment_container img.avatar { width: 34px; height: 34px; border-radius: 50%; }
.pdp__panel .comment-text { flex: 1; }
.pdp__panel .comment-text .star-rating { float: right; margin: 0; }
.pdp__panel .comment-text p.meta { font-size: 11px; color: var(--ink-3); margin-bottom: 6px; }
.pdp__panel .comment-text .description p { font-size: 12.5px; color: var(--ink-2); }
.pdp__panel #review_form_wrapper {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surface-2);
}
.pdp__panel #review_form_wrapper .comment-reply-title { font-size: 14px; font-weight: 700; display: block; margin-bottom: 10px; }
.pdp__panel .comment-form label { font-size: 12px; font-weight: 600; color: var(--ink-2); }
.pdp__panel .comment-form input[type="text"],
.pdp__panel .comment-form input[type="email"],
.pdp__panel .comment-form textarea {
  width: 100%;
  border: 1px solid var(--line-2);
  border-radius: var(--r-sm);
  padding: 9px 11px;
  font-size: 13px;
  background: var(--surface);
}
.pdp__panel .comment-form .form-submit input { height: 42px; }

/* ==========================================================================
   Cart
   ========================================================================== */
.woocommerce-cart .woocommerce { padding-top: 24px; }
.woocommerce-cart table.shop_table {
  border-radius: var(--r);
  overflow: hidden;
  border: 1px solid var(--line);
}
.woocommerce-cart table.shop_table thead th {
  background: var(--surface-2);
  border-bottom: 1px solid var(--line);
  font-size: 10.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-3);
}
.woocommerce-cart table.shop_table td { background: var(--surface); border-bottom: 1px solid var(--line); vertical-align: middle; }
.woocommerce-cart table.shop_table td.product-thumbnail img { width: 76px; height: 76px; object-fit: contain; border-radius: var(--r-sm); background: var(--sand); padding: 4px; }
.woocommerce-cart table.shop_table td.product-name a { font-size: 13px; font-weight: 500; color: var(--ink); }
.woocommerce-cart table.shop_table td.product-name a:hover { color: var(--red); }
.woocommerce-cart .product-remove a.remove {
  color: var(--ink-3) !important;
  background: transparent !important;
  font-size: 18px;
}
.woocommerce-cart .product-remove a.remove:hover { color: var(--red) !important; }
.woocommerce-cart .quantity .qty { height: 38px; width: 64px; border: 1px solid var(--line-2); border-radius: var(--r-sm); }
.woocommerce-cart .actions .coupon { display: flex; gap: 6px; float: none; }
.woocommerce-cart .actions .coupon .input-text { height: 40px; border: 1px solid var(--line-2); border-radius: var(--r-sm); padding: 0 12px; }
.woocommerce-cart .actions .button { height: 40px; }
.woocommerce-cart .cart_totals { border: 1px solid var(--line); border-radius: var(--r); padding: 16px 18px; background: var(--surface); }
.woocommerce-cart .cart_totals h2 { font-size: 15px; font-weight: 800; margin-bottom: 10px; }
.woocommerce-cart .cart_totals table { border: 0; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td { border-bottom: 1px solid var(--line); background: transparent; font-size: 12.5px; }
.woocommerce-cart .cart_totals .order-total td,
.woocommerce-cart .cart_totals .order-total th { font-size: 16px; font-weight: 800; }
/* Ο σύνδεσμος «Υπολογισμός Αποστολής» έμοιαζε με απλό κείμενο και δεν φαινόταν
   πατήσιμος. Γίνεται σαφές κουμπί· η φόρμα μένει κλειστή μέχρι να πατηθεί και το
   άνοιγμα/κλείσιμο το χειρίζεται το theme.js (χωρίς εξάρτηση από το cart.min.js). */
.woocommerce-cart .cart-collaterals .shipping-calculator-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 34px;
  padding: 0 12px;
  margin-top: 6px;
  border: 1px solid var(--line-2);
  border-radius: var(--r-sm);
  background: var(--surface-2);
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
.woocommerce-cart .cart-collaterals .shipping-calculator-button:hover,
.woocommerce-cart .cart-collaterals .shipping-calculator-button:focus-visible { border-color: var(--red); color: var(--red); }
.woocommerce-cart .cart-collaterals .shipping-calculator-form { margin: 10px 0 0; }
.woocommerce-cart .cart-collaterals .shipping-calculator-form .form-row { margin: 0 0 8px; }
.woocommerce-cart .cart-collaterals .shipping-calculator-form .form-row input.input-text,
.woocommerce-cart .cart-collaterals .shipping-calculator-form .form-row select { width: 100%; box-sizing: border-box; height: 40px; }
.woocommerce-cart .cart-collaterals .shipping-calculator-form .button { height: 38px; font-size: 12px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { height: 50px; font-size: 13px; }
.woocommerce-cart .cross-sells { margin-top: 24px; }
.woocommerce-cart .cross-sells h2 { font-size: 18px; font-weight: 800; }
/* Οι cross-sells της Woo έρχονται με float grid (li.product 22%/48%), που δεν
   ταιριάζει με τις .p-card του theme: στο κινητό οι κάρτες κόβονταν μέσα στη
   λωρίδα των 232px. Ίδιο grid με την υπόλοιπη αρχιτεκτονική καρτελών. */
.woocommerce .cross-sells ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce .cross-sells ul.products::before,
.woocommerce .cross-sells ul.products::after { content: none; }
.woocommerce .cross-sells ul.products > li.product,
.woocommerce .cross-sells ul.products > article.p-card {
  width: auto;
  float: none;
  margin: 0;
  padding: 0;
  clear: none;
  min-width: 0;
}
.woocommerce .cross-sells ul.products li.product .p-card,
.woocommerce .cross-sells ul.products article.p-card { height: 100%; }
/* Σε πλατύτερο χώρο (δεξιά στήλη καλαθιού) μια μόνη κάρτα δεν πρέπει να γεμίζει
   όλο το πλάτος με τεράστια εικόνα. */
@media (min-width: 601px) {
  .woocommerce .cross-sells ul.products > li.product,
  .woocommerce .cross-sells ul.products > article.p-card { max-width: 220px; }
}
.cart-ship { margin: 0 0 18px; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); }
.cart-ship p { font-size: 12px; color: var(--ink-2); display: flex; align-items: center; gap: 7px; margin-bottom: 7px; }
.cart-ship p svg { color: var(--green); flex: none; }
.cart-ship .bar { height: 6px; background: #e6e6e8; border-radius: var(--pill); overflow: hidden; }
.cart-ship .bar i { display: block; height: 100%; background: var(--green); }
.cart-ship p b { color: var(--ink); }

/* ==========================================================================
   Checkout
   ========================================================================== */
/* Το custom-checkout plugin (multi-step) έχει δικά του panels, δικά του cards
   και δικό του layout. Το δι-στήλο grid του κλασικού checkout άφηνε τα βήματα
   2/3 σε κρυφή δεξιά στήλη και στο desktop κρατούσε το 60% του πλάτους. */
.woocommerce-checkout form.checkout.fredi-checkout-form {
  display: block;
  grid-template-columns: none;
}
/* Το .fredi-card είναι ήδη η κάρτα — μη βάζεις δεύτερη μέσα της. */
.woocommerce-checkout form.checkout.fredi-checkout-form #order_review {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(320px, .8fr);
  gap: 24px;
  align-items: start;
}
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 0 10px; font-size: 15px; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2 / span 2; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 16px; }
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 16px 18px;
  margin-bottom: 12px;
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 { font-size: 14px; font-weight: 800; margin-bottom: 10px; }
.woocommerce-checkout .woocommerce-billing-fields .form-row,
.woocommerce-checkout .woocommerce-additional-fields .form-row { margin-bottom: 10px; }
.woocommerce-checkout #order_review table.shop_table { border: 0; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td { padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 12px; background: transparent; }
.woocommerce-checkout #order_review .order-total td,
.woocommerce-checkout #order_review .order-total th { font-size: 15px; font-weight: 800; }
.woocommerce-checkout #payment { margin-top: 10px; }

@media (max-width: 960px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #order_review_heading { grid-column: 1; grid-row: auto; }
}

.buybox__price .price del,
.buybox__price .price del .woocommerce-Price-amount {
  font-size: 15px;
  color: var(--ink-3);
  font-weight: 400;
}
.buybox__price .price ins { text-decoration: none; }
.gallery__thumbs { grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); }

/* Cart two-column layout */
.woocommerce-cart .woocommerce {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .85fr);
  gap: 24px;
  align-items: start;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .woocommerce-message,
.woocommerce-cart .woocommerce > .woocommerce-info,
.woocommerce-cart .woocommerce > .cart-ship { grid-column: 1 / -1; }
.woocommerce-cart form.woocommerce-cart-form { grid-column: 1; margin: 0; }
.woocommerce-cart .cart-collaterals { grid-column: 2; width: 100%; float: none; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; float: none; }
.woocommerce-cart .cart-collaterals .cross-sells { width: 100%; float: none; }
@media (max-width: 960px) {
  /* minmax(0,1fr) αντί για 1fr: αλλιώς η στήλη δεν πέφτει κάτω από το
     min-content του καλαθιού (389px) και σπρώχνει όλη τη σελίδα έξω από την οθόνη. */
  .woocommerce-cart .woocommerce { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals { grid-column: 1; }
}

@media (max-width: 768px) {
  /* Στη στοιβαγμένη (responsive) προβολή ο πίνακας κρατά min-content ~390px και
     ξεπερνά την οθόνη· το fixed layout τον κάνει να χωράει στο πλάτος του. */
  .woocommerce-cart table.shop_table { table-layout: fixed; width: 100%; }
  .woocommerce-cart table.shop_table td,
  .woocommerce-cart table.shop_table th { overflow-wrap: anywhere; }
}

.woocommerce-checkout #customer_details .col2-set { display: block; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-checkout #customer_details .col-2 { margin-top: 12px; }
.woocommerce-checkout .woocommerce-shipping-fields { margin-top: 12px; }
.woocommerce-checkout #order_review_heading { padding-left: 2px; }

/* ---------- Filters form ---------- */
.filters__form { margin: 0; }
.filters__form .fblock__btn { cursor: default; }
.filters__form .fblock__btn svg { display: none; }
.filters__form .btn { margin-top: 10px; }
.filter-link.is-active { color: var(--red); font-weight: 600; }
.filter-link.is-active em { color: var(--red); }

/* ---------- Notices ---------- */
.woocommerce-message,
.woocommerce-info,
.wc-block-components-notice-banner.is-success {
  border: 1px solid var(--line) !important;
  border-left: 3px solid var(--green) !important;
  border-radius: var(--r-sm) !important;
  background: var(--surface) !important;
  color: var(--ink-2) !important;
}
.woocommerce-error,
.wc-block-components-notice-banner.is-error {
  border: 1px solid var(--line) !important;
  border-left: 3px solid var(--red) !important;
  border-radius: var(--r-sm) !important;
  background: var(--surface) !important;
  color: var(--ink-2) !important;
}
.wc-block-components-notice-banner > svg { display: none; }
.woocommerce-message .button,
.woocommerce-info .button { height: 36px; font-size: 11.5px; }

/* ---------- Cart tweaks ---------- */
.woocommerce-cart .actions .coupon .input-text { min-width: 200px; }
.woocommerce-cart .page-head,
.woocommerce-checkout .page-head { padding: 14px 0 16px; }
.woocommerce-cart .section,
.woocommerce-checkout .section { padding-top: 22px; }
.woocommerce-cart .woocommerce { padding-top: 0; }

/* ---------- B2B form ---------- */

/* ---------- Wishlist ---------- */
.haction--wish { position: relative; }
.wish-count {
  position: absolute;
  top: 2px;
  left: 20px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: var(--pill);
  background: var(--ink);
  color: #fff;
  font-size: 9.5px;
  font-weight: 700;
  display: grid;
  place-items: center;
  line-height: 1;
}
.wish-count.is-empty { display: none; }
[data-wishlist-grid] .p-card { max-width: none; }

/* ---------- AJAX filtering ---------- */
.shop-grid.is-loading { opacity: .45; pointer-events: none; transition: opacity .15s linear; }

/* ---------- Variation cards ---------- */
.variations__select--hidden {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.variant-cards { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.variant-cards.is-clipped {
  max-height: 176px;
  overflow-y: auto;
  padding-right: 6px;
  scrollbar-width: thin;
}
.variant-cards.is-clipped::-webkit-scrollbar { width: 8px; }
.variant-cards.is-clipped::-webkit-scrollbar-thumb { background: var(--line-2); border-radius: 8px; }
.variant-toggle {
  display: inline-flex;
  align-items: center;
  margin-top: 8px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--red);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.variant-toggle:hover { text-decoration: underline; }
.variant-card {
  height: 38px;
  padding: 0 14px;
  border: 1px solid var(--line-2);
  border-radius: var(--r-sm);
  background: var(--surface);
  font-size: 12.5px;
  font-weight: 500;
  color: var(--ink-2);
  transition: all .15s var(--ease);
}
.variant-card:hover { border-color: var(--ink-3); color: var(--ink); }
.variant-card.is-active { border-color: var(--red); background: #fffafa; color: var(--red); font-weight: 600; }
.pdp .buybox .variations th { width: 100%; display: block; }
.pdp .buybox .variations td { display: block; }

.woocommerce-cart .cross-sell { grid-column: 1 / -1; margin-top: 8px; }
.woocommerce-cart .cross-sell .cross-sell__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 760px) {
  .woocommerce-cart .cross-sell .cross-sell__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Live search ---------- */
.search__suggest { max-height: 380px; overflow-y: auto; }
.search__suggest a[data-suggest-index] { align-items: center; }
.search__suggest a[data-suggest-index] span:first-of-type {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search__suggest a.is-active { background: var(--surface-2); }
.search__suggest .search__all {
  display: block;
  margin-top: 4px;
  padding: 9px 8px;
  border-top: 1px solid var(--line);
  font-size: 11.5px;
  font-weight: 600;
  color: var(--red);
}
.search__suggest .search__empty { padding: 12px 10px; font-size: 12px; color: var(--ink-3); }

/* Packout band: the supplier photo is a JPG on white, blend it into the stage */
.promo__visual img { mix-blend-mode: multiply; }
.section--offers { background: var(--surface); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }

/* sale price: no underline on the new amount */
.p-card__price-row ins,
.p-card__price-row ins .woocommerce-Price-amount { text-decoration: none; }
.p-card__price-row del .woocommerce-Price-amount { text-decoration: line-through; }

/* ==========================================================================
   Add-to-cart feedback
   ========================================================================== */
@keyframes fredi-spin { to { transform: rotate(360deg); } }
@keyframes fredi-bump { 0%,100% { transform: scale(1); } 35% { transform: scale(1.45); } }
@keyframes fredi-pop { from { transform: translateY(14px) scale(.98); opacity: 0; } to { transform: none; opacity: 1; } }

/* button: loading + added states */
.p-card__add { position: relative; }
.p-card__add.is-loading,
.single_add_to_cart_button.is-loading { pointer-events: none; opacity: .85; }
.p-card__add.is-loading svg,
.single_add_to_cart_button.is-loading svg { visibility: hidden; }
.p-card__add.is-loading::after,
.single_add_to_cart_button.is-loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border: 2px solid rgba(18, 18, 21, .18);
  border-top-color: var(--ink);
  border-radius: 50%;
  animation: fredi-spin .6s linear infinite;
}
/* on the red CTA the spinner must stay light */
.single_add_to_cart_button.is-loading::after,
.btn--primary.is-loading::after {
  border-color: rgba(255, 255, 255, .4);
  border-top-color: #fff;
}
.single_add_to_cart_button { position: relative; }

.p-card__add.is-added {
  background: var(--green) !important;
  border-color: var(--green) !important;
  color: #fff !important;
}
.p-card__add.is-added svg { visibility: hidden; }
.p-card__add.is-added::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='m4 12 5 5L20 6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.single_add_to_cart_button.is-added { background: var(--green) !important; border-color: var(--green) !important; }

/* header badge */
.cart-count.is-bump { animation: fredi-bump .55s var(--ease); }

/* panel */
.cart-toast {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 130;
  width: min(360px, calc(100vw - 24px));
  padding: 16px 16px 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-top: 3px solid var(--green);
  border-radius: var(--r);
  box-shadow: 0 24px 60px -30px rgba(18, 18, 21, .55);
  transform: translateY(14px) scale(.98);
  opacity: 0;
  transition: transform .22s var(--ease), opacity .22s var(--ease);
}
.cart-toast.is-open { transform: none; opacity: 1; animation: fredi-pop .22s var(--ease); }
.cart-toast__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--ink-3);
}
.cart-toast__close:hover { background: var(--surface-2); color: var(--ink); }
.cart-toast__head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; padding-right: 24px; }
.cart-toast__head b { font-size: 13px; font-weight: 700; }
.cart-toast__check {
  width: 22px;
  height: 22px;
  flex: none;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green-soft);
  color: var(--green);
}
.cart-toast__item { display: flex; align-items: center; gap: 10px; }
.cart-toast__img {
  width: 48px;
  height: 48px;
  flex: none;
  object-fit: contain;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  background: var(--sand);
}
.cart-toast__meta { display: grid; gap: 2px; min-width: 0; }
.cart-toast__name {
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cart-toast__price { font-size: 12.5px; font-weight: 700; color: var(--red); }
.cart-toast__sum {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin: 12px 0;
  padding: 10px 12px;
  border-radius: var(--r-sm);
  background: var(--surface-2);
  font-size: 11.5px;
  color: var(--ink-2);
}
.cart-toast__sum b { font-size: 14px; font-weight: 800; color: var(--ink); }
.cart-toast__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

@media (max-width: 520px) {
  .cart-toast { right: 12px; left: 12px; bottom: 12px; width: auto; }
  .cart-toast__actions { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Add-to-cart button (labelled, not icon-only)
   ========================================================================== */
.p-card__add {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 40px;
  margin-top: 10px;
  padding: 0 12px;
  border: 1px solid var(--red);
  border-radius: var(--r-sm);
  background: var(--red);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .01em;
  white-space: nowrap;
  transition: background .16s var(--ease), border-color .16s var(--ease);
}
.p-card__add:hover { background: var(--red-2); border-color: var(--red-2); color: #fff; }
.p-card__add-icon { flex: none; }
.p-card__add-text-short,
.p-card__add-text-done { display: none; }

.p-card__add.is-loading .p-card__add-icon,
.p-card__add.is-loading .p-card__add-text,
.p-card__add.is-loading .p-card__add-text-short { visibility: hidden; }
.p-card__add.is-added { background: var(--green); border-color: var(--green); }
.p-card__add.is-added .p-card__add-icon,
.p-card__add.is-added .p-card__add-text,
.p-card__add.is-added .p-card__add-text-short { display: none; }
.p-card__add.is-added .p-card__add-text-done { display: inline; }
.p-card__add.is-added::before {
  content: "";
  width: 14px;
  height: 14px;
  flex: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='m4 12 5 5L20 6'/%3E%3C/svg%3E") center/contain no-repeat;
}

@media (max-width: 760px) {
  .p-card__add { height: 38px; font-size: 11.5px; gap: 6px; padding: 0 8px; }
}
@media (max-width: 560px) {
  .p-card__add-text { display: none; }
  .p-card__add-text-short { display: inline; }
  .p-card__add.is-added .p-card__add-text-short { display: none; }
}

/* PDP add-to-cart: same states as the product cards */
.single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.single_add_to_cart_button.is-loading { color: transparent !important; }
.single_add_to_cart_button .is-added-icon { flex: none; }
.woocommerce-variation-add-to-cart .single_add_to_cart_button { min-width: 220px; }

/* ---------- Homepage section order ---------- */
.home-flow { display: flex; flex-direction: column; }

/* WooCommerce renders category counts as <mark> — keep them on-brand */
ul.products li.product-category mark.count,
.woocommerce ul.product-categories li mark.count,
mark.count {
  background: none;
  color: var(--ink-3);
  font-weight: 400;
}

/* shortcode grids: cards may sit directly in the list */
ul.products > .p-card,
ul.products > li.product > .p-card { height: 100%; }
ul.products { align-items: stretch; }

/* empty WooCommerce wrappers should not render as cards */
.woocommerce-shipping-fields:empty { display: none !important; }

/* variation add-to-cart: quantity + button on one row, button fills the rest */
.woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
  width: 100%;
}
.woocommerce-variation-add-to-cart .quantity { flex: none; }
.woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1 1 auto; min-width: 220px; }

/* PDP wishlist: labelled secondary action, always visible (was missing entirely) */
.pdp-wish {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 42px;
  margin-top: 8px;
  padding: 0 12px;
  border: 1px solid var(--line-2);
  border-radius: var(--r-sm);
  background: var(--surface);
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 600;
  transition: border-color .16s var(--ease), background .16s var(--ease), color .16s var(--ease);
}
.pdp-wish svg { flex: none; fill: none; transition: fill .16s var(--ease); }
.pdp-wish:hover { border-color: var(--red); color: var(--red); }
.pdp-wish.is-on { border-color: var(--red-line); background: var(--red-soft); color: var(--red); }
.pdp-wish.is-on svg { fill: currentColor; }

/* Complianz prints the same document link twice when both slots resolve to the
   privacy statement — keep a single one. */
.cmplz-cookiebanner .cmplz-documents .cmplz-link.cookie-statement { display: none; }
.cmplz-cookiebanner .cmplz-links a + a { display: none; }

/* ---------- Complianz: on-brand cookie banner ---------- */
/* Το Complianz κρατά σταθερό πλάτος banner (--cmplz_banner_width, 526px εδώ). Σε
   στενές οθόνες το banner γίνεται φαρδύτερο από το viewport και «τραβάει» όλη τη
   σελίδα στα 450px: το περιεχόμενο κόβεται δεξιά (καλάθι, κουπόνι, ποσότητα) και
   χρειάζεται οριζόντιο scroll. Το περιορίζουμε στο πλάτος της οθόνης. */
@media (max-width: 767px) {
  .cmplz-cookiebanner {
    min-width: 0 !important;
    max-width: calc(100vw - 16px) !important;
  }
}

.cmplz-cookiebanner {
  border: 1px solid var(--line) !important;
  border-top: 3px solid var(--red) !important;
  border-radius: var(--r) !important;
  box-shadow: 0 24px 60px -30px rgba(18, 18, 21, .45) !important;
  font-family: var(--font) !important;
}
.cmplz-cookiebanner .cmplz-title { font-weight: 700 !important; color: var(--ink) !important; }
.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner p { color: var(--ink-2) !important; }
.cmplz-cookiebanner .cmplz-btn {
  border-radius: var(--r-sm) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  height: 40px !important;
  box-shadow: none !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
  background: var(--red) !important;
  border: 1px solid var(--red) !important;
  color: #fff !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover {
  background: var(--red-2) !important;
  border-color: var(--red-2) !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  background: var(--surface) !important;
  border: 1px solid var(--line-2) !important;
  color: var(--ink) !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover {
  background: var(--surface-2) !important;
  border-color: var(--ink-3) !important;
}
.cmplz-cookiebanner .cmplz-links a { color: var(--red) !important; }


/* fredi-3.2.7 — Τρόποι πληρωμής */
.pay-info .iban { font-family: var(--mono); font-size: 12.5px; letter-spacing: .02em; overflow-wrap: anywhere; }
.pay-info .spec-table th { white-space: normal; width: 32%; }

/* fredi-3.2.7 — cookie banner: να μην τραβά τη σελίδα πιο φαρδιά από την οθόνη */
@media (max-width: 767px) {
  .cmplz-cookiebanner { min-width: 0 !important; max-width: calc(100vw - 16px) !important; }
}

/* fredi-3.2.7 — καλάθι: να χωράει στην οθόνη */
@media (max-width: 960px) {
  .woocommerce-cart .woocommerce { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals { grid-column: 1; }
}
@media (max-width: 768px) {
  .woocommerce-cart table.shop_table { table-layout: fixed; width: 100%; }
  .woocommerce-cart table.shop_table td,
  .woocommerce-cart table.shop_table th { overflow-wrap: anywhere; }
}
