/*
Theme Name: Schemis Payments
Theme URI: https://schemis-payments.agrenaos.gr
Author: -
Description: Θέμα για e-shop μίας υπηρεσίας με πύλη πληρωμών Πειραιώς (WooCommerce). Χωρίς εικόνες, χωρίς κατάλογο, χωρίς εξωτερικά αιτήματα.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: schemis
*/

/* =========================================================================
   Γραμματοσειρά — IBM Plex Sans, τοπικά. Καμία κλήση σε τρίτους.
   ====================================================================== */

@font-face {
	font-family: "Plex";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(fonts/ibm-plex-sans-greek-400-normal.woff2) format("woff2");
	unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
	font-family: "Plex";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url(fonts/ibm-plex-sans-greek-500-normal.woff2) format("woff2");
	unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
	font-family: "Plex";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url(fonts/ibm-plex-sans-greek-600-normal.woff2) format("woff2");
	unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
	font-family: "Plex";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Plex";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url(fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Plex";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url(fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD;
}

/* =========================================================================
   Tokens
   ====================================================================== */

/*
 * Παλέτα από το λογότυπο SCHEMIS.
 * --brand είναι το ακριβές πράσινο του λογοτύπου (#67AF60). Με λευκό από πάνω
 * δίνει μόλις 2,7:1, οπότε ΔΕΝ χρησιμοποιείται για κουμπιά ή κείμενο — μόνο
 * για τη διακοσμητική μπάρα. Τα --accent / --accent-press είναι η ίδια
 * απόχρωση σκουρότερη, στα 5,0:1 και 7,6:1 αντίστοιχα.
 */
:root {
	--ink: #3e3e3e;
	--ink-2: #6b7068;
	--paper: #ffffff;
	--panel: #f6f7f5;
	--rule: #e0e2de;
	--rule-strong: #c2c7bf;
	--brand: #67af60;
	--accent: #447c3f;
	--accent-press: #335e2f;
	--alert: #9b2c1f;

	--sans: "Plex", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--step--1: 0.8125rem;
	--step-0: 1rem;
	--step-1: 1.25rem;
	--step-2: 1.5rem;
	--step-3: 2rem;

	--gutter: 1.5rem;
	--measure: 40rem;
	--radius: 3px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	border-top: 3px solid var(--brand);
	background: var(--paper);
	color: var(--ink);
	font-family: var(--sans);
	font-size: var(--step-0);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

.wrap {
	width: 100%;
	max-width: var(--measure);
	margin: 0 auto;
	padding: 0 var(--gutter);
}

/* =========================================================================
   Header
   ====================================================================== */

/* Καλάθι, ταμείο και επιβεβαίωση έχουν πίνακες και θέλουν περισσότερο πλάτος. */
.woocommerce-cart .wrap,
.woocommerce-checkout .wrap,
.woocommerce-order-received .wrap {
	max-width: 48rem;
}

.site-header {
	border-bottom: 1px solid var(--rule);
}

.site-header .wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 4rem;
}

.site-title {
	margin: 0;
	min-width: 0;
	font-size: var(--step-0);
	font-weight: 600;
	letter-spacing: -0.012em;
}

.site-title a {
	display: block;
	color: inherit;
	text-decoration: none;
}

.site-title img {
	display: block;
	width: auto;
	max-width: 100%;
	height: 30px;
}

.cart-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	margin-right: -0.5rem;
	border-radius: var(--radius);
	color: var(--ink);
}

.cart-link svg {
	width: 22px;
	height: 22px;
	display: block;
}

.cart-link__count {
	position: absolute;
	top: 0.125rem;
	right: 0.0625rem;
	min-width: 1.125rem;
	height: 1.125rem;
	padding: 0 0.25rem;
	border-radius: 999px;
	background: var(--accent);
	color: #fff;
	font-size: 0.6875rem;
	font-weight: 600;
	line-height: 1.125rem;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

/* =========================================================================
   Τυπογραφία
   ====================================================================== */

.site-main {
	padding: 3rem 0 1rem;
	min-height: 32vh;
}

/*
 * Οι τίτλοι σελίδας μένουν στο DOM για αναγνώστες οθόνης και μηχανές
 * αναζήτησης, αλλά δεν εμφανίζονται. Αν θες να ξαναφανούν, σβήσε
 * ολόκληρο το παρακάτω μπλοκ.
 */
/*
 * Το WooCommerce βάζει ετικέτες για αναγνώστες οθόνης («Αφαίρεση στοιχείου»,
 * «… ποσότητα») και τις κρύβει με δικό του CSS, το οποίο εδώ δεν φορτώνεται.
 * Χωρίς τον παρακάτω κανόνα εμφανίζονται ως κανονικό κείμενο μέσα στον πίνακα.
 */
.screen-reader-text,
.sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	white-space: nowrap;
	clip-path: inset(50%);
	border: 0;
}

/* Το ίδιο ισχύει για την κλάση .hidden, που μπαίνει στην ποσότητα. */
.woocommerce .hidden,
.woocommerce .quantity.hidden {
	display: none !important;
}

.page-title,
.woocommerce div.product .product_title {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	white-space: nowrap;
	clip-path: inset(50%);
	border: 0;
}

h1,
h2,
h3 {
	margin: 2.25rem 0 0.75rem;
	line-height: 1.2;
	letter-spacing: -0.018em;
	font-weight: 600;
	text-wrap: balance;
}

h1 {
	margin-top: 0;
	font-size: var(--step-3);
}

h2 {
	font-size: var(--step-2);
}

h3 {
	font-size: var(--step-1);
}

p,
ul,
ol {
	margin: 0 0 1.125rem;
}

.site-main > p:first-of-type {
	font-size: 1.0625rem;
	color: var(--ink-2);
}

li {
	margin-bottom: 0.375rem;
}

a {
	color: var(--accent);
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

strong {
	font-weight: 600;
}

hr {
	border: 0;
	border-top: 1px solid var(--rule);
	margin: 2.5rem 0;
}

table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.5rem;
	font-size: 0.9375rem;
}

th,
td {
	padding: 0.625rem 0;
	border-bottom: 1px solid var(--rule);
	text-align: left;
	vertical-align: top;
}

th {
	font-weight: 600;
}

:where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
	border-radius: 2px;
}

/* =========================================================================
   Πλαίσιο πληρωμής — το μοναδικό «βαρύ» στοιχείο της σελίδας
   ====================================================================== */

.panel {
	margin: 2.5rem 0;
	padding: 1.5rem;
	border: 1px solid var(--rule-strong);
	border-radius: var(--radius);
	background: var(--panel);
}

.panel__name {
	margin: 0 0 0.75rem;
	font-size: var(--step-1);
	font-weight: 600;
	letter-spacing: -0.012em;
}

.panel__name a {
	color: inherit;
	text-decoration: none;
}

.panel__name a:hover {
	text-decoration: underline;
	text-decoration-color: var(--rule-strong);
}

.panel__desc {
	margin: 0 0 1.25rem;
	color: var(--ink-2);
}

.panel__desc p {
	margin: 0 0 0.75rem;
}

.panel__desc p:last-child {
	margin-bottom: 0;
}

.panel__desc ul,
.panel__desc ol {
	margin: 0 0 0.75rem;
	padding-left: 1.25rem;
}

.prose {
	margin: 0 0 2rem;
}

.panel__amount {
	margin: 0;
	font-size: 2.75rem;
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.03em;
	font-variant-numeric: tabular-nums;
}

.panel__amount .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
}

.panel__amount del {
	display: none;
}

.panel__vat {
	margin: 0.375rem 0 1.25rem;
	font-size: var(--step--1);
	color: var(--ink-2);
}

.panel form.cart {
	margin: 0;
}

.panel .quantity {
	display: none;
}

/* =========================================================================
   Κουμπιά
   ====================================================================== */

.btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.woocommerce #place_order,
button[type="submit"] {
	display: inline-block;
	padding: 0.8125rem 1.5rem;
	border: 1px solid var(--accent);
	border-radius: var(--radius);
	background: var(--accent);
	color: #fff;
	font: inherit;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.12s ease-out;
}

.btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce #place_order:hover,
button[type="submit"]:hover {
	background: var(--accent-press);
	border-color: var(--accent-press);
	color: #fff;
}

.btn:active,
.woocommerce #place_order:active,
.woocommerce .single_add_to_cart_button:active {
	transform: translateY(1px);
}

.btn--block,
.panel .single_add_to_cart_button,
.woocommerce #place_order {
	display: block;
	width: 100%;
}

/* Δευτερεύον κουμπί: «Ενημέρωση καλαθιού», «Επιστροφή» κ.λπ. */
.woocommerce .cart .button[name="update_cart"],
.woocommerce a.button.wc-backward {
	background: transparent;
	border-color: var(--rule-strong);
	color: var(--ink);
}

.woocommerce .cart .button[name="update_cart"]:hover,
.woocommerce a.button.wc-backward:hover {
	background: var(--panel);
	border-color: var(--ink-2);
	color: var(--ink);
}

.woocommerce .button:disabled,
.woocommerce .button[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
}

/* =========================================================================
   Εγγυήσεις ασφάλειας κάτω από το κουμπί
   ====================================================================== */

.assurance {
	display: flex;
	gap: 0.625rem;
	margin: 1.25rem 0 0;
	padding-top: 1.125rem;
	border-top: 1px solid var(--rule);
	font-size: var(--step--1);
	line-height: 1.5;
	color: var(--ink-2);
}

.assurance svg {
	flex: none;
	width: 16px;
	height: 16px;
	margin-top: 0.1875rem;
	color: var(--accent);
}

.assurance p {
	margin: 0;
}

.assurance p + p {
	margin-top: 0.25rem;
}

/* =========================================================================
   Σήματα καρτών και ισχυρής ταυτοποίησης (ενότητα 8, εγχειρίδιο Πειραιώς)
   ====================================================================== */

.badges {
	margin: 2.5rem 0 0;
	padding-top: 1.75rem;
	border-top: 1px solid var(--rule);
}

.badges__row + .badges__row {
	margin-top: 1.75rem;
}

.badges__label {
	margin: 0 0 0.625rem;
	font-size: var(--step--1);
	color: var(--ink-2);
}

.badges__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.badges__list li {
	margin: 0;
	line-height: 0;
}

.badges__list img {
	display: block;
	width: auto;
	max-width: 100%;
}

/* Σε στενή οθόνη τα σήματα των καρτών μικραίνουν ώστε να μείνουν σε μία σειρά. */
@media (max-width: 30rem) {
	.badges__list {
		gap: 1rem;
	}

	.badges__row:first-child .badges__list img {
		height: 26px;
	}

	.badges__row + .badges__row .badges__list img {
		height: 32px;
	}
}

/* =========================================================================
   Σελίδα προϊόντος
   ====================================================================== */

/*
 * Το WooCommerce στήνει τη σελίδα προϊόντος σε δύο στήλες με float.
 * Εδώ δεν υπάρχουν εικόνες, οπότε όλα πάνε σε μία στήλη.
 */
.woocommerce div.product,
.woocommerce div.product div.summary,
.woocommerce div.product .entry-summary,
.woocommerce .col2-set,
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

.woocommerce div.product::after,
.woocommerce .col2-set::after {
	content: "";
	display: table;
	clear: both;
}

/* =========================================================================
   Φόρμες — καλάθι και ταμείο
   ====================================================================== */

.woocommerce form .form-row {
	display: block;
	margin: 0 0 1.125rem;
	padding: 0;
}

.woocommerce form .form-row label {
	display: block;
	margin-bottom: 0.3125rem;
	font-size: 0.9375rem;
	font-weight: 500;
}

.woocommerce form .form-row .required {
	color: var(--alert);
	text-decoration: none;
	border: 0;
}

.woocommerce form .form-row .optional {
	color: var(--ink-2);
	font-weight: 400;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single {
	display: block;
	width: 100%;
	height: auto;
	padding: 0.6875rem 0.75rem;
	border: 1px solid var(--rule-strong);
	border-radius: var(--radius);
	background: var(--paper);
	color: var(--ink);
	font: inherit;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--accent);
	outline: 1px solid var(--accent);
	outline-offset: -2px;
}

.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
	border-color: var(--alert);
}

.woocommerce form .form-row span.description,
.woocommerce form .form-row .woocommerce-input-wrapper > span.description {
	display: block;
	margin-top: 0.3125rem;
	font-size: var(--step--1);
	color: var(--ink-2);
}

/* Select2 (λίστα χωρών) */
.select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 1.6;
	color: var(--ink);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 50%;
	right: 0.5rem;
	transform: translateY(-50%);
}

.select2-dropdown {
	border-color: var(--rule-strong);
	border-radius: var(--radius);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--accent);
}

/* Επικεφαλίδες ενοτήτων του ταμείου */
.woocommerce-billing-fields h3,
#order_review_heading {
	margin: 2.5rem 0 1rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--rule);
	font-size: var(--step-1);
}

/* Η πρώτη ενότητα του ταμείου δεν χρειάζεται γραμμή από πάνω. */
.checkout > .woocommerce-billing-fields:first-child h3,
.checkout .col2-set:first-child .woocommerce-billing-fields h3 {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

/* =========================================================================
   Πίνακες παραγγελίας
   ====================================================================== */

.woocommerce table.shop_table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
	margin: 0 0 1.5rem;
	border-radius: 0;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 0.75rem 0;
	border: 0;
	border-bottom: 1px solid var(--rule);
	font-size: 0.9375rem;
	text-align: left;
}

.woocommerce table.shop_table td.product-total,
.woocommerce table.shop_table th.product-total,
.woocommerce table.shop_table tfoot td {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.woocommerce table.shop_table thead th {
	font-size: var(--step--1);
	font-weight: 500;
	color: var(--ink-2);
	border-bottom-color: var(--rule-strong);
}

.woocommerce table.shop_table tfoot tr:last-child th,
.woocommerce table.shop_table tfoot tr:last-child td {
	padding-top: 1rem;
	border-bottom: 0;
	border-top: 1px solid var(--rule-strong);
	font-size: var(--step-1);
	font-weight: 600;
}

.woocommerce table.shop_table .product-name a {
	color: inherit;
	text-decoration: none;
}

/* =========================================================================
   Καλάθι
   ====================================================================== */

/*
 * Σε υπηρεσία μίας μονάδας, η μικρογραφία, η ποσότητα και η τιμή ανά τεμάχιο
 * δεν προσθέτουν πληροφορία: η ποσότητα είναι πάντα 1 και η τιμή ίδια με το
 * σύνολο. Μένουν η αφαίρεση, το όνομα και το ποσό.
 */
.woocommerce table.cart th.product-thumbnail,
.woocommerce table.cart td.product-thumbnail,
.woocommerce table.cart th.product-quantity,
.woocommerce table.cart td.product-quantity,
.woocommerce table.cart th.product-price,
.woocommerce table.cart td.product-price {
	display: none;
}

.woocommerce table.cart th.product-remove,
.woocommerce table.cart td.product-remove {
	width: 3rem;
	padding-right: 0.75rem;
}

.woocommerce table.cart td.product-name {
	font-weight: 600;
}

.woocommerce table.cart td.product-name a {
	color: inherit;
	text-decoration: none;
}

.woocommerce table.cart td.product-name a:hover {
	text-decoration: underline;
	text-decoration-color: var(--rule-strong);
}

.woocommerce table.cart th.product-subtotal,
.woocommerce table.cart td.product-subtotal {
	text-align: right;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.woocommerce table.cart td.product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border: 1px solid var(--rule-strong);
	border-radius: 999px;
	background: var(--paper);
	color: var(--ink-2);
	font-size: 1.0625rem;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.12s ease-out, border-color 0.12s ease-out;
}

.woocommerce table.cart td.product-remove a.remove:hover,
.woocommerce table.cart td.product-remove a.remove:focus {
	background: var(--alert);
	border-color: var(--alert);
	color: #fff;
}

/* Το «Ενημέρωση» δεν έχει τι να ενημερώσει: η ποσότητα είναι κλειδωμένη
   στο ένα και τα κουπόνια είναι απενεργοποιημένα. Κρύβουμε ολόκληρη τη
   γραμμή, αλλιώς μένει ένα κενό ανάμεσα στο είδος και τα σύνολα. */
.woocommerce table.cart tr:has(> td.actions) {
	display: none;
}

.woocommerce table.cart td.actions {
	display: none;
}

/* Ο πίνακας τελειώνει ήδη με γραμμή — δεύτερη από πάνω θα ήταν διπλή. */
.cart-collaterals {
	margin-top: 2.25rem;
}

.cart_totals h2 {
	margin: 0 0 1rem;
	font-size: var(--step-1);
}

.cart_totals table.shop_table th {
	font-weight: 400;
	color: var(--ink-2);
}

.cart_totals table.shop_table td {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.cart_totals .order-total th,
.cart_totals .order-total td {
	padding-top: 1rem;
	border-bottom: 0;
	border-top: 1px solid var(--rule-strong);
	font-size: var(--step-1);
	font-weight: 600;
	color: var(--ink);
}

.wc-proceed-to-checkout {
	margin-top: 1.75rem;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: block;
	width: 100%;
	margin: 0;
	font-size: 1rem;
}

.woocommerce-cart .cart-empty {
	font-size: 1.0625rem;
}

/* =========================================================================
   Τρόποι πληρωμής
   ====================================================================== */

#payment {
	background: var(--panel);
	border: 1px solid var(--rule-strong);
	border-radius: var(--radius);
	padding: 1.25rem;
}

#payment ul.payment_methods {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
}

#payment ul.payment_methods li {
	margin: 0;
	padding: 0;
	background: none;
}

#payment ul.payment_methods label {
	font-weight: 600;
	cursor: pointer;
}

#payment ul.payment_methods input[type="radio"] {
	margin-right: 0.5rem;
	accent-color: var(--accent);
}

#payment .payment_box {
	margin: 0.625rem 0 0;
	padding: 0;
	background: none;
	font-size: 0.9375rem;
	color: var(--ink-2);
}

#payment .payment_box::before {
	display: none;
}

#payment .payment_box p:last-child {
	margin-bottom: 0;
}

#payment div.form-row.place-order {
	margin: 1.25rem 0 0;
	padding: 1.25rem 0 0;
	border-top: 1px solid var(--rule);
}

.woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 1.375rem;
	font-size: 0.9375rem;
}

.woocommerce-privacy-policy-text {
	margin-bottom: 1.125rem;
	font-size: var(--step--1);
	color: var(--ink-2);
}

.woocommerce-privacy-policy-text p:last-child {
	margin-bottom: 0;
}

/*
 * Το checkbox κρεμάει στο αριστερό περιθώριο και το κείμενο μένει κανονική
 * ροή. Με flex, ο αστερίσκος του υποχρεωτικού γίνεται ξεχωριστό στοιχείο
 * και πετάγεται στην άκρη, σπάζοντας την πρόταση.
 */
.woocommerce form .form-row.validate-required label.checkbox,
.woocommerce-terms-and-conditions-wrapper label.checkbox {
	display: block;
	position: relative;
	margin: 0;
	padding-left: 1.75rem;
	font-weight: 400;
}

.woocommerce form .form-row.validate-required label.checkbox input[type="checkbox"],
.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
	position: absolute;
	top: 0.3em;
	left: 0;
	margin: 0;
	accent-color: var(--accent);
}

.woocommerce-terms-and-conditions-wrapper .form-row {
	margin-bottom: 0;
}

/* =========================================================================
   Ειδοποιήσεις
   ====================================================================== */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0.875rem 1rem;
	border: 1px solid var(--rule-strong);
	border-left: 3px solid var(--accent);
	border-radius: 0 var(--radius) var(--radius) 0;
	background: var(--panel);
	font-size: 0.9375rem;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	display: none;
}

.woocommerce-error {
	border-left-color: var(--alert);
	color: var(--ink);
}

.woocommerce-error li + li {
	margin-top: 0.375rem;
}

.woocommerce-message .button,
.woocommerce-info .button {
	float: right;
	margin-left: 1rem;
	padding: 0.375rem 0.875rem;
	font-size: var(--step--1);
}

/* =========================================================================
   Σελίδα «ευχαριστούμε»
   ====================================================================== */

.woocommerce-order ul.woocommerce-order-overview {
	list-style: none;
	margin: 1.5rem 0;
	padding: 1.25rem;
	border: 1px solid var(--rule-strong);
	border-radius: var(--radius);
	background: var(--panel);
}

.woocommerce-order ul.woocommerce-order-overview li {
	margin: 0 0 0.625rem;
	padding: 0;
	border: 0;
	float: none;
	font-size: var(--step--1);
	color: var(--ink-2);
	text-transform: none;
}

.woocommerce-order ul.woocommerce-order-overview li:last-child {
	margin-bottom: 0;
}

.woocommerce-order ul.woocommerce-order-overview li strong {
	display: block;
	font-size: var(--step-0);
	color: var(--ink);
}

/* =========================================================================
   Μηνύματα μετάβασης στην τράπεζα
   ====================================================================== */

.woocommerce-checkout .blockUI.blockOverlay {
	background: rgba(255, 255, 255, 0.75) !important;
}

/* =========================================================================
   Σελίδα «Η πληρωμή δεν ολοκληρώθηκε»
   ====================================================================== */

.outcome {
	margin: 0 0 1rem;
}

.outcome__lead {
	font-size: 1.0625rem;
	font-weight: 500;
}

.outcome__bank {
	margin: 1.25rem 0;
	padding: 1rem 1.25rem;
	border-left: 3px solid var(--alert);
	border-radius: 0 var(--radius) var(--radius) 0;
	background: var(--panel);
	font-size: 0.9375rem;
}

.outcome__banklabel {
	margin: 0 0 0.375rem;
	font-size: var(--step--1);
	color: var(--ink-2);
}

.outcome__bank p:last-child {
	margin-bottom: 0;
}

.outcome__action {
	margin: 1.75rem 0 1.25rem;
}

.outcome__help {
	margin: 0;
	font-size: var(--step--1);
	color: var(--ink-2);
}

/* =========================================================================
   Footer
   ====================================================================== */

.site-footer {
	margin-top: 4rem;
	padding: 2rem 0 3.5rem;
	border-top: 1px solid var(--rule);
	font-size: var(--step--1);
	line-height: 1.6;
	color: var(--ink-2);
}

.site-footer a {
	color: inherit;
	text-decoration-color: var(--rule-strong);
}

.site-footer a:hover {
	color: var(--ink);
}

.legal-nav ul {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
}

.legal-nav li {
	margin: 0;
}

.company {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.25rem 1.25rem;
	margin: 0 0 1.25rem;
}

.company dt {
	color: var(--ink-2);
}

.company dd {
	margin: 0;
	color: var(--ink);
}

.colophon {
	margin: 0;
}

/* =========================================================================
   Απενεργοποιημένα στοιχεία WooCommerce
   ====================================================================== */

.woocommerce-product-gallery,
.woocommerce div.product div.images,
.product_meta,
.woocommerce ul.products li.product a img,
.woocommerce-breadcrumb,
/* Στήλη μικρογραφίας στο καλάθι — φεύγει μαζί με την επικεφαλίδα της. */
.woocommerce table.shop_table th.product-thumbnail,
.woocommerce table.shop_table td.product-thumbnail,
/* Το ίδιο, αν κάπου χρησιμοποιηθούν τα Cart & Checkout Blocks. */
.wc-block-cart-item__image,
.wc-block-components-order-summary-item__image,
.wc-block-components-product-image {
	display: none !important;
}

/* =========================================================================
   Μικρές οθόνες
   ====================================================================== */

@media (max-width: 30rem) {
	:root {
		--gutter: 1rem;
		--step-3: 1.75rem;
	}

	.site-main {
		padding-top: 2.25rem;
	}

	.site-title img {
		height: 24px;
	}

	.panel {
		padding: 1.25rem;
	}

	.panel__amount {
		font-size: 2.25rem;
	}

	.woocommerce table.shop_table th,
	.woocommerce table.shop_table td {
		font-size: 0.875rem;
	}

	.company {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.company dt {
		margin-top: 0.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}

	.btn:active {
		transform: none;
	}
}
