/* Mastorevo – Υπολογιστής Μόνωσης
   Fonts, buttons and prices inherit from the theme / WooCommerce styles. */
.mwpc {
	--mwpc-accent: #f28c00;
	--mwpc-ink: inherit;
	--mwpc-muted: rgba(0, 0, 0, .58);
	--mwpc-line: rgba(0, 0, 0, .1);
	--mwpc-soft: rgba(0, 0, 0, .035);
	--mwpc-radius: 10px;
	max-width: 1100px;
	margin: 0 auto 2.5em;
	font-family: inherit;
	color: inherit;
}
.mwpc *, .mwpc *::before, .mwpc *::after { box-sizing: border-box; }

.mwpc-head { margin-bottom: 1.25em; }
.mwpc-kicker {
	display: inline-block; font-size: .85em; font-weight: 700; letter-spacing: .02em;
	color: var(--mwpc-accent); margin-bottom: .35em;
}
/* Πρώτο γράμμα κεφαλαίο, τα υπόλοιπα όπως είναι γραμμένα — ακόμη κι αν το theme βάζει κεφαλαία. */
.mwpc, .mwpc h2, .mwpc h3, .mwpc h4, .mwpc button, .mwpc .button, .mwpc a,
.mwpc .woocommerce-loop-product__title, .mwpc .price, .mwpc small, .mwpc strong {
	text-transform: none !important;
}
.mwpc-title { margin: 0; line-height: 1.2; }

/* Steps */
.mwpc-steps { display: grid; gap: .75em; }
.mwpc-step {
	display: grid; grid-template-columns: 2.4em 1fr; gap: 1em; align-items: start;
	padding: 1.1em 1.25em; border: 1px solid var(--mwpc-line); border-radius: var(--mwpc-radius);
	background: #fff; animation: mwpc-in .35s ease both;
}
.mwpc-step.is-active { border-color: var(--mwpc-accent); box-shadow: 0 6px 24px rgba(0, 0, 0, .06); }
.mwpc-step.is-done { background: var(--mwpc-soft); padding-top: .75em; padding-bottom: .75em; }
.mwpc-step-num {
	width: 2.4em; height: 2.4em; border-radius: 50%; display: grid; place-items: center;
	font-weight: 700; background: var(--mwpc-accent); color: #fff;
}
.mwpc-step.is-done .mwpc-step-num { background: #2e9d5b; }
.mwpc-q { margin: .3em 0 .5em; font-size: 1.15em; line-height: 1.3; }
.mwpc-step.is-done .mwpc-q { font-size: .8em; margin: 0; color: var(--mwpc-muted); font-weight: 600; }
.mwpc-hint { margin: 0 0 .75em; color: var(--mwpc-muted); }

.mwpc-row { display: flex; gap: .6em; flex-wrap: wrap; }
.mwpc-input {
	flex: 1 1 220px; min-height: 48px; padding: .6em .9em !important; font-size: 1.1em !important;
	border: 2px solid var(--mwpc-line) !important; border-radius: 8px !important; background: #fff;
}
.mwpc-input:focus { outline: none; border-color: var(--mwpc-accent) !important; }
.mwpc-error { color: #c0392b; margin: .5em 0 0; min-height: 1em; font-size: .92em; }

.mwpc-done { display: flex; align-items: center; justify-content: space-between; gap: 1em; flex-wrap: wrap; }
.mwpc-answer { font-weight: 700; font-size: 1.05em; }
.mwpc-edit {
	background: none !important; border: 0 !important; padding: 0 !important; color: var(--mwpc-accent) !important;
	text-decoration: underline; cursor: pointer; font: inherit; font-size: .9em;
}

.mwpc-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .6em; }
.mwpc-choice {
	display: flex; flex-direction: column; align-items: flex-start; gap: .15em; text-align: left;
	padding: .9em 1em !important; border: 2px solid var(--mwpc-line) !important; border-radius: 8px !important;
	background: #fff !important; color: inherit !important; cursor: pointer; font: inherit;
	transition: border-color .15s, transform .15s, box-shadow .15s;
}
.mwpc-choice:hover, .mwpc-choice:focus-visible {
	border-color: var(--mwpc-accent) !important; transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0, 0, 0, .08); outline: none;
}
.mwpc-choice strong { font-size: 1.05em; }
.mwpc-choice small { color: var(--mwpc-muted); }

/* "Ωραία, άρα τα τετραγωνικά είναι…" */
.mwpc-celebrate {
	display: flex; align-items: center; gap: .9em; margin: 0 0 1em; padding: .9em 1.1em;
	border-radius: var(--mwpc-radius); color: #fff;
	background: linear-gradient(120deg, var(--mwpc-accent), color-mix(in srgb, var(--mwpc-accent) 70%, #000));
	animation: mwpc-pop .5s cubic-bezier(.2, 1.4, .4, 1) both;
}
.mwpc-celebrate-icon { font-size: 1.8em; line-height: 1; }
.mwpc-celebrate-label { display: block; font-size: .92em; opacity: .9; }
.mwpc-celebrate-value { display: block; font-size: 1.9em; font-weight: 800; line-height: 1.1; }

.mwpc-note { margin: .8em 0 0; font-size: .92em; }
.mwpc-note--warn { padding: .6em .8em; border-left: 3px solid var(--mwpc-accent); background: var(--mwpc-soft); border-radius: 4px; }
.mwpc-note--info {
	margin: 1.5em 0; padding: 1em 1.1em; border-radius: var(--mwpc-radius);
	background: color-mix(in srgb, var(--mwpc-accent) 10%, #fff); border: 1px solid color-mix(in srgb, var(--mwpc-accent) 35%, #fff);
}

/* Results */
.mwpc-results:empty { display: none; }
.mwpc-results { margin-top: 1.5em; animation: mwpc-in .4s ease both; }
.mwpc-summary {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: .6em; margin-bottom: 1.5em;
}
.mwpc-summary > div { padding: .8em 1em; border-radius: var(--mwpc-radius); background: var(--mwpc-soft); }
.mwpc-summary small { display: block; color: var(--mwpc-muted); font-size: .8em; }
.mwpc-summary strong { font-size: 1.3em; }
.mwpc-section-title { margin: 1.4em 0 .8em; }

.mwpc ul.mwpc-products, .mwpc ul.mwpc-tools {
	display: grid !important; gap: 1em; margin: 0 !important; padding: 0 !important; list-style: none;
}
.mwpc ul.mwpc-products { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.mwpc ul.mwpc-tools { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
.mwpc ul.products::before, .mwpc ul.products::after { display: none !important; }
.mwpc ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important; padding: 0 !important;
	display: flex; flex-direction: column; border: 1px solid var(--mwpc-line); border-radius: var(--mwpc-radius);
	background: #fff; overflow: hidden; transition: box-shadow .2s, transform .2s;
}
.mwpc ul.products li.product:hover { box-shadow: 0 10px 28px rgba(0, 0, 0, .08); transform: translateY(-2px); }
.mwpc-img { display: block; aspect-ratio: 1 / 1; background: #fff; border-bottom: 1px solid var(--mwpc-line); }
.mwpc-img img { width: 100%; height: 100%; object-fit: contain; padding: .75em; margin: 0 !important; }
.mwpc-card-body { display: flex; flex-direction: column; gap: .5em; padding: 1em; flex: 1; }
.mwpc-card-title { margin: 0 !important; font-size: 1.05em !important; padding: 0 !important; }
.mwpc-need { margin: 0; font-size: .88em; color: var(--mwpc-muted); }
.mwpc-badge {
	align-self: flex-start; padding: .25em .65em; border-radius: 999px; font-size: .82em; font-weight: 700;
	background: color-mix(in srgb, var(--mwpc-accent) 14%, #fff); color: color-mix(in srgb, var(--mwpc-accent) 70%, #000);
}
.mwpc-lines { list-style: none; margin: 0; padding: 0; font-size: .9em; }
.mwpc-lines li { display: grid; grid-template-columns: auto 1fr auto; gap: .5em; padding: .35em 0; border-top: 1px dashed var(--mwpc-line); align-items: baseline; }
.mwpc-lines a { color: inherit; text-decoration: none; }
.mwpc-lines a:hover { text-decoration: underline; }
.mwpc-qty { font-weight: 800; color: var(--mwpc-accent); }
.mwpc-line-price { white-space: nowrap; font-size: .92em; }
.mwpc-line-price del { opacity: .55; margin-right: .2em; }
.mwpc-line-price ins { text-decoration: none; font-weight: 700; }
.mwpc-total { margin-top: auto; padding-top: .6em; border-top: 1px solid var(--mwpc-line); display: flex; justify-content: space-between; align-items: baseline; }
.mwpc-total small { color: var(--mwpc-muted); }
.mwpc-total .price { font-size: 1.35em; font-weight: 800; }
.mwpc-actions { display: flex; flex-direction: column; gap: .4em; }
.mwpc .mwpc-btn { width: 100%; text-align: center; justify-content: center; }
.mwpc .mwpc-btn.added { background: #2e9d5b !important; border-color: #2e9d5b !important; color: #fff !important; }
.mwpc-viewcart { font-size: .88em; text-align: center; }

.mwpc-tool { padding-bottom: .8em !important; }
.mwpc-tool-name { display: block; padding: .7em .8em .2em; font-size: .9em !important; color: inherit; text-decoration: none; line-height: 1.3; }
.mwpc-tool .price { display: block; padding: 0 .8em .5em; font-weight: 700; }
.mwpc-tool .price del { opacity: .55; font-weight: 400; }
.mwpc-tool .price ins { text-decoration: none; }
.mwpc-tool .mwpc-actions { margin-top: auto; padding: 0 .8em; }

@keyframes mwpc-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes mwpc-pop { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .mwpc * { animation: none !important; transition: none !important; } }

@media (max-width: 600px) {
	.mwpc-step { grid-template-columns: 1fr; gap: .5em; padding: 1em; }
	.mwpc-step-num { width: 2em; height: 2em; }
	.mwpc-summary { grid-template-columns: 1fr 1fr 1fr; }
	.mwpc-summary strong { font-size: 1.05em; }
	.mwpc ul.mwpc-tools { grid-template-columns: 1fr 1fr; }
}

/* Βήμα 1: επιλογή τρόπου + πεδία αριθμών */
.mwpc-tabs {
	display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; margin-bottom: .9em;
	border-radius: 999px; background: var(--mwpc-soft); border: 1px solid var(--mwpc-line);
}
.mwpc .mwpc-tab {
	border: 0 !important; background: transparent !important; color: inherit !important; cursor: pointer;
	padding: .55em 1.1em !important; border-radius: 999px !important; font: inherit; font-weight: 600; font-size: .95em;
	box-shadow: none !important; min-height: 0; line-height: 1.2;
}
.mwpc .mwpc-tab.is-on { background: var(--mwpc-accent) !important; color: #fff !important; }
.mwpc-fields { display: flex; align-items: flex-end; gap: .6em; flex-wrap: wrap; margin-bottom: .8em; }
.mwpc-fields[hidden] { display: none; }
.mwpc-field { display: flex; flex-direction: column; gap: .3em; flex: 1 1 160px; max-width: 260px; margin: 0; }
.mwpc-field-label { font-size: .88em; font-weight: 600; color: var(--mwpc-muted); }
.mwpc-field .mwpc-input { flex: none; width: 100%; }
.mwpc-times { font-size: 1.6em; font-weight: 700; color: var(--mwpc-accent); padding-bottom: .35em; }
.mwpc .mwpc-btn--auto { width: auto; min-width: 180px; }

/* Ταξινόμηση */
.mwpc-section-head { display: flex; align-items: center; justify-content: space-between; gap: .8em; flex-wrap: wrap; margin: 1.4em 0 .8em; }
.mwpc-section-head .mwpc-section-title { margin: 0; }
.mwpc-sort-wrap { display: flex; align-items: center; gap: .5em; margin: 0; font-size: .92em; }
.mwpc-sort-wrap span { color: var(--mwpc-muted); white-space: nowrap; }
.mwpc-sort { min-height: 40px; padding: .4em 2em .4em .8em; border: 1px solid var(--mwpc-line); border-radius: 8px; background-color: #fff; font: inherit; }

@media (max-width: 600px) {
	.mwpc-tabs { display: flex; width: 100%; }
	.mwpc .mwpc-tab { flex: 1 1 0; padding: .55em .6em !important; font-size: .88em; }
	.mwpc-fields--dims .mwpc-field { flex: 1 1 0; min-width: 0; }
	.mwpc .mwpc-btn--auto { width: 100%; }
	.mwpc-sort-wrap { width: 100%; }
	.mwpc-sort { flex: 1; }
}
