/* Σελίδες eshop που ΔΕΝ υπάρχουν στο Figma: καλάθι, ταμείο, λογαριασμός, thank-you.
   Σχεδιασμός με το brand styling του Figma (μαύρα κουμπιά, γκρι φόντο, Geom/fallback, χωρίς radius). */

.ilb-page { padding: 0 var(--space-container) 80px; background: var(--color-bg); }
.ilb-page .ilb-page-header { padding-inline: 0; }
.ilb-page__content { max-width: 1320px; margin: 0 auto; }
.ilb-page:not(.ilb-page--woo) .ilb-page__content { max-width: 900px; }
.ilb-page__content > :first-child { margin-top: 0; }
.ilb-page .alignwide,
.ilb-page .alignfull { margin-inline: 0; max-width: none; width: 100%; }

/* ---------- Κουμπιά ---------- */
.ilb-page .button,
.ilb-page button.button,
.ilb-page input[type="submit"],
.ilb-page .woocommerce-Button,
.ilb-page .wc-block-components-button:not(.is-link),
.ilb-page .wc-block-cart__submit-button,
.ilb-page .wc-block-components-checkout-place-order-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-xs);
	min-height: 0;
	padding: 16px 32px;
	border: 0;
	border-radius: 0;
	background: var(--color-black);
	color: var(--color-badge);
	font: inherit;
	font-size: 20px;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.ilb-page .button:hover,
.ilb-page button.button:hover,
.ilb-page input[type="submit"]:hover,
.ilb-page .woocommerce-Button:hover,
.ilb-page .wc-block-components-button:not(.is-link):hover,
.ilb-page .wc-block-cart__submit-button:hover,
.ilb-page .wc-block-components-checkout-place-order-button:hover {
	background: var(--color-header);
	color: var(--color-white);
}
.ilb-page .wc-block-components-button .wc-block-components-button__text { color: inherit; text-decoration: none; }
.ilb-page .wc-block-components-button.is-link,
.ilb-page .wc-block-components-button--link { background: none; color: inherit; padding: 0; text-decoration: underline; }
.ilb-page .button.disabled,
.ilb-page button:disabled { opacity: 0.4; cursor: not-allowed; }

/* ---------- Πεδία φορμών (classic και blocks) ---------- */
.ilb-page label { display: block; margin-bottom: 6px; }
.ilb-page input[type="text"],
.ilb-page input[type="email"],
.ilb-page input[type="tel"],
.ilb-page input[type="password"],
.ilb-page input[type="number"],
.ilb-page input[type="search"],
.ilb-page select,
.ilb-page textarea,
.ilb-page .wc-block-components-text-input input,
.ilb-page .wc-block-components-combobox .components-combobox-control__input,
.ilb-page .wc-blocks-components-select__select {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid rgba(0, 0, 0, 0.35);
	border-radius: 0;
	background: var(--color-white);
	color: var(--color-black);
	font: inherit;
}
.ilb-page .wc-block-components-text-input input,
.ilb-page .wc-blocks-components-select__select { padding-top: 22px; padding-bottom: 8px; }
.ilb-page .wc-block-components-text-input label { color: rgba(0, 0, 0, 0.6); }
.ilb-page input:focus,
.ilb-page select:focus,
.ilb-page textarea:focus { outline: 2px solid var(--color-black); outline-offset: 2px; }
.ilb-page input[type="checkbox"],
.ilb-page input[type="radio"] { width: auto; accent-color: var(--color-black); }
.ilb-page .form-row { margin: 0 0 20px; }

/* ---------- Notices ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	display: block;
	margin: 0 0 24px;
	padding: 16px 20px;
	border: 0;
	border-left: 4px solid var(--color-black);
	border-radius: 0;
	background: var(--color-white);
	color: var(--color-black);
	list-style: none;
}
.woocommerce-error { border-left-color: #b00020; }
.woocommerce-message .button,
.woocommerce-info .button { float: right; padding: 8px 20px; font-size: 16px; }
.woocommerce-message::after { content: ""; display: table; clear: both; }
.woocommerce-error li { margin: 0; }
.wc-block-components-notice-banner.is-error { border-left-color: #b00020; background: #fff5f6; }
.wc-block-components-notice-banner > svg { fill: currentColor; }

/* ---------- Καλάθι / Ταμείο (blocks) ---------- */
.ilb-page--woo .wp-block-woocommerce-cart,
.ilb-page--woo .wp-block-woocommerce-checkout { max-width: none; }
.ilb-page .wc-block-cart__main,
.ilb-page .wc-block-checkout__main { padding-right: 40px; }
.ilb-page .wc-block-cart__sidebar,
.ilb-page .wc-block-checkout__sidebar { padding: 24px; background: var(--color-white); align-self: start; }
.ilb-page .wc-block-components-sidebar-layout { gap: 0; }
.ilb-page .wc-block-cart-items th,
.ilb-page .wc-block-cart__totals-title,
.ilb-page .wc-block-components-checkout-step__title,
.ilb-page .wc-block-components-title {
	margin: 0 0 16px;
	font-family: var(--font-primary);
	font-size: var(--font-size-h3);
	font-weight: var(--font-weight-bold);
	text-transform: none;
	letter-spacing: 0;
}
.ilb-page .wc-block-cart-items { border-collapse: collapse; width: 100%; }
.ilb-page .wc-block-cart-items td,
.ilb-page .wc-block-cart-items th { border-color: rgba(0, 0, 0, 0.15); }
.ilb-page .wc-block-components-product-name { color: inherit; font-weight: var(--font-weight-bold); text-decoration: none; }
.ilb-page .wc-block-components-product-name:hover { text-decoration: underline; }
.ilb-page .wc-block-components-quantity-selector { border: 1px solid var(--color-field-border); border-radius: 0; background: var(--color-white); }
.ilb-page .wc-block-components-quantity-selector input { border: 0; background: transparent; padding: 8px; }
.ilb-page .wc-block-components-quantity-selector__button { background: none; color: var(--color-black); border: 0; padding: 8px; }
.ilb-page .wc-block-components-totals-item__label,
.ilb-page .wc-block-components-totals-item__value { font-size: 18px; }
.ilb-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: var(--font-size-h3); font-weight: var(--font-weight-bold); }
.ilb-page .wc-block-components-panel__button { background: none; color: inherit; }
.ilb-page .wc-block-components-radio-control__option,
.ilb-page .wc-block-components-radio-control-accordion-option { border-radius: 0; }

/* ---------- Λογαριασμός ---------- */
.woocommerce-account .woocommerce { display: block; }
.woocommerce-account .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.password-input { position: relative; display: block; }
.show-password-input { display: none; }
.woocommerce-MyAccount-navigation { margin-bottom: 40px; }
.woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--color-black); }
.woocommerce-MyAccount-navigation li a { display: block; padding: 12px 0; color: inherit; text-decoration: none; }
.woocommerce-MyAccount-navigation li.is-active a { font-weight: var(--font-weight-bold); border-bottom: 3px solid var(--color-black); margin-bottom: -2px; }
.woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce-account .u-columns { display: grid; grid-template-columns: 1fr; gap: 40px; }
.woocommerce-account .u-columns > div { padding: 32px; background: var(--color-white); }
.woocommerce-account h2 { font-size: var(--font-size-h3); }
.woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.woocommerce-LostPassword { margin: 16px 0 0; }
.woocommerce-LostPassword a,
.ilb-page .woocommerce a:not(.button) { color: inherit; }

/* Πίνακες (παραγγελίες, λεπτομέρειες παραγγελίας) */
.woocommerce table.shop_table,
.woocommerce-orders-table { width: 100%; border-collapse: collapse; background: var(--color-white); }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { padding: 14px 16px; border: 0; border-bottom: 1px solid rgba(0, 0, 0, 0.12); text-align: left; vertical-align: top; }
.woocommerce table.shop_table th { font-weight: var(--font-weight-bold); }

/* Thank-you */
.woocommerce-order { display: flex; flex-direction: column; gap: 24px; }
.woocommerce-thankyou-order-received { padding: 16px 20px; border-left: 4px solid var(--color-black); background: var(--color-white); }
.woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 16px 40px; margin: 0; padding: 24px; list-style: none; background: var(--color-white); }
.woocommerce-order-overview li { display: flex; flex-direction: column; font-size: 16px; text-transform: none; }
.woocommerce-order-overview strong { font-size: 20px; }
.wc-block-order-confirmation-status,
.wc-block-order-confirmation-summary,
.wc-block-order-confirmation-totals,
.wc-block-order-confirmation-billing-address,
.wc-block-order-confirmation-shipping-address { margin-bottom: 24px; }
.wc-block-order-confirmation-summary { padding: 24px; background: var(--color-white); }

/* Ειδοποίηση "Δεν βρέθηκαν προϊόντα" μέσα στο αρχείο */
.ilb-archive .woocommerce-info { margin: 0 var(--space-container); }

@media (min-width: 1025px) {
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 260px 1fr; gap: 40px; }
	.woocommerce-MyAccount-navigation ul { flex-direction: column; border: 0; gap: 0; }
	.woocommerce-MyAccount-navigation li a { border-bottom: 1px solid rgba(0, 0, 0, 0.15); }
	.woocommerce-MyAccount-navigation li.is-active a { border-bottom: 3px solid var(--color-black); margin-bottom: 0; }
	.woocommerce-account .u-columns { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1024px) {
	.ilb-page .wc-block-cart__main,
	.ilb-page .wc-block-checkout__main { padding-right: 0; }
}
@media (max-width: 599px) {
	.ilb-page { padding-bottom: 48px; }
	.ilb-page .button,
	.ilb-page .wc-block-components-button:not(.is-link) { width: 100%; }
	.woocommerce-message .button,
	.woocommerce-info .button { float: none; width: auto; margin-top: 12px; }
}

/* ---------- Classic καλάθι (shortcode [woocommerce_cart]) ---------- */
.woocommerce-cart-form { margin: 0 0 40px; }
.woocommerce-cart-form table.shop_table { table-layout: auto; }
.woocommerce-cart-form .product-remove { width: 40px; }
.woocommerce-cart-form .product-remove a { color: inherit; font-size: 24px; line-height: 1; text-decoration: none; }
.woocommerce-cart-form .product-thumbnail { width: 120px; }
.woocommerce-cart-form .product-thumbnail img { display: block; width: 96px; height: 96px; object-fit: cover; }
.woocommerce-cart-form .product-name a { color: inherit; font-weight: var(--font-weight-bold); text-decoration: none; }
.woocommerce-cart-form .product-name a:hover { text-decoration: underline; }
.woocommerce-cart-form .quantity .screen-reader-text { position: absolute; }
.woocommerce-cart-form .ilb-qty { margin: 0; }
.woocommerce-cart-form td.actions { padding: 24px 16px; }
.woocommerce-cart-form .coupon { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.woocommerce-cart-form .coupon label { display: none; }
.woocommerce-cart-form .coupon input.input-text { flex: 1 1 220px; width: auto; }
.cart-collaterals { display: block; }
.cart_totals { max-width: 560px; margin-left: auto; padding: 24px; background: var(--color-white); }
.cart_totals h2 { margin: 0 0 16px; font-size: var(--font-size-h3); }
.cart_totals table.shop_table { margin-bottom: 16px; }
.wc-proceed-to-checkout .checkout-button { display: flex; width: 100%; }

/* ---------- Classic ταμείο (shortcode [woocommerce_checkout]) ---------- */
form.woocommerce-checkout { display: grid; grid-template-columns: 1fr; gap: 40px; }
form.woocommerce-checkout h3 { margin: 0 0 16px; font-size: var(--font-size-h3); }
#customer_details .col-1, #customer_details .col-2 { float: none; width: auto; margin-bottom: 24px; }
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper { display: grid; grid-template-columns: 1fr; gap: 0 16px; }
.woocommerce-checkout .form-row-wide { grid-column: 1 / -1; }
.woocommerce-checkout .required { color: #b00020; text-decoration: none; }
.woocommerce-checkout #order_review_heading { display: none; }
.woocommerce-checkout-review-order { padding: 24px; background: var(--color-white); }
.woocommerce-checkout-review-order h3 { margin-top: 0; }
#payment { margin-top: 24px; background: transparent; }
#payment ul.payment_methods { margin: 0 0 16px; padding: 0; list-style: none; }
#payment ul.payment_methods li { padding: 12px 0; border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
#payment ul.payment_methods label { display: inline; }
#payment .payment_box { margin-top: 8px; padding: 12px 16px; background: var(--color-bg); }
#payment .place-order { display: flex; flex-direction: column; gap: 16px; }
#place_order { width: 100%; }
.woocommerce-privacy-policy-text { font-size: 16px; }
.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-form-login-toggle .woocommerce-info { margin-bottom: 16px; }
.select2-container .select2-selection--single { height: 52px; border: 1px solid rgba(0, 0, 0, 0.35); border-radius: 0; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 50px; padding-left: 16px; color: var(--color-black); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 50px; }

@media (min-width: 768px) {
	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1025px) {
	form.woocommerce-checkout { grid-template-columns: 1.2fr 1fr; align-items: start; }
	form.woocommerce-checkout #customer_details { grid-column: 1; }
	form.woocommerce-checkout .woocommerce-checkout-review-order { grid-column: 2; grid-row: 1 / span 2; }
}
@media (max-width: 767px) {
	/* Πίνακας καλαθιού ως κάρτες */
	.woocommerce-cart-form table.shop_table thead { display: none; }
	.woocommerce-cart-form table.shop_table,
	.woocommerce-cart-form table.shop_table tbody,
	.woocommerce-cart-form table.shop_table tr,
	.woocommerce-cart-form table.shop_table td { display: block; width: 100%; }
	.woocommerce-cart-form tr.cart_item { position: relative; padding: 16px; border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
	.woocommerce-cart-form tr.cart_item td { padding: 6px 0; border: 0; }
	.woocommerce-cart-form tr.cart_item td::before { content: attr(data-title) ": "; font-weight: var(--font-weight-bold); }
	.woocommerce-cart-form tr.cart_item td.product-remove { position: absolute; top: 8px; right: 12px; width: auto; }
	.woocommerce-cart-form tr.cart_item td.product-remove::before,
	.woocommerce-cart-form tr.cart_item td.product-thumbnail::before { content: none; }
	.woocommerce-cart-form td.actions { padding: 16px; }
	.woocommerce-cart-form .coupon { flex-direction: column; }
	.cart_totals { max-width: none; }
	.woocommerce table.shop_table_responsive tr td::before { float: none; }
}
