/*
 * Mat-Hub Core — styles for the features this plugin adds.
 *
 * Deliberately theme-agnostic: colours come from custom properties with
 * fallbacks, so the plugin looks right on the Mat-Hub theme and merely plain
 * (never broken) on Storefront or any other theme.
 */

.mathub-badges { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; margin: .75rem 0; padding: 0; }
.mathub-badge {
	font-size: .78rem; padding: .3rem .65rem; border-radius: 999px;
	border: 1px solid var(--mathub-line, #e8e2d9); color: var(--mathub-muted, #6b645c);
}

/* ---------------------------------------------------------- Tile calculator */

.mathub-calc {
	border: 1px solid var(--mathub-line, #e8e2d9); border-radius: 10px;
	padding: 1rem 1.1rem; margin: 1.25rem 0;
}
.mathub-calc__title { font-size: 1rem; margin: 0 0 .75rem; }
.mathub-calc__row { display: flex; flex-wrap: wrap; gap: .75rem; }
.mathub-calc__field { display: flex; flex-direction: column; gap: .25rem; flex: 1 1 8rem; font-size: .82rem; }
.mathub-calc__field--narrow { flex: 0 1 6rem; }
.mathub-calc__field input { padding: .55rem .7rem; border: 1px solid var(--mathub-line, #e8e2d9); border-radius: 8px; min-height: 44px; }
.mathub-calc__hint { font-size: .8rem; color: var(--mathub-muted, #6b645c); margin: .6rem 0 0; }
.mathub-calc__result {
	margin-top: .75rem; padding-top: .75rem; font-size: .9rem;
	border-top: 1px dashed var(--mathub-line, #e8e2d9);
}
.mathub-calc__apply { margin-top: .75rem; }

/* --------------------------------------------------- Logistics on a product */

.mathub-logistics {
	border: 1px solid var(--mathub-line, #e8e2d9); border-radius: 10px;
	padding: 1.4rem; margin: 2rem 0;
}
.mathub-logistics h2 { font-size: 1.1rem; margin: 0 0 1rem; }
.mathub-logistics dl { margin: 0; display: grid; gap: 1rem; }
.mathub-logistics dt {
	font-size: .75rem; text-transform: uppercase; letter-spacing: .05em;
	color: var(--mathub-muted, #6b645c); margin-bottom: .2rem;
}
.mathub-logistics dd { margin: 0; font-size: .9rem; }
@media (min-width: 700px) { .mathub-logistics dl { grid-template-columns: 1fr 1fr; gap: 1.25rem 2rem; } }

/* -------------------------------------------------------- Shared furniture */

.mathub-grid { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
.mathub-grid--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 620px) { .mathub-grid, .mathub-grid--3 { grid-template-columns: 1fr; } }

.mathub-chips { display: flex; flex-wrap: wrap; gap: .45rem; }
.mathub-chip {
	display: inline-flex; align-items: center; min-height: 40px;
	padding: .35rem .85rem; border-radius: 999px; cursor: pointer;
	border: 1px solid var(--mathub-line, #e8e2d9); background: #fff;
	color: var(--mathub-muted, #6b645c); font: inherit; font-size: .82rem; text-decoration: none;
}
.mathub-chip[aria-pressed="true"] {
	background: var(--mathub-accent, #8a6f4e); border-color: var(--mathub-accent, #8a6f4e); color: #fff;
}

.mathub-note, .mathub-empty { color: var(--mathub-muted, #6b645c); font-size: .85rem; }
.mathub-block { display: block; width: 100%; text-align: center; margin-top: .6rem; }

/* --------------------------------------------------- Quotation calculator */

.mathub-quote { display: grid; gap: 2rem; grid-template-columns: 1fr 340px; align-items: start; }
@media (max-width: 1000px) { .mathub-quote { grid-template-columns: 1fr; } }

.mathub-quote__main, .mathub-quote__summary { min-width: 0; }

.mathub-fieldset {
	border: 1px solid var(--mathub-line, #e8e2d9); border-radius: 10px;
	padding: 1.25rem; margin: 0 0 1.25rem; min-inline-size: 0;
}
.mathub-fieldset legend { font-weight: 700; padding: 0 .5rem; }
.mathub-fieldset label { display: block; font-size: .85rem; }
.mathub-fieldset label span { display: block; font-weight: 500; margin-bottom: .3rem; }
.mathub-fieldset input[type="number"], .mathub-fieldset input[type="text"] {
	width: 100%; padding: .6rem .75rem; min-height: 44px;
	border: 1px solid var(--mathub-line, #e8e2d9); border-radius: 8px;
}

.mathub-derived { list-style: none; margin: .75rem 0 0; padding: .75rem 0 0; border-top: 1px solid var(--mathub-line, #e8e2d9); }
.mathub-derived li { display: flex; justify-content: space-between; gap: 1rem; font-size: .88rem; padding: .3rem 0; }
.mathub-derived span { color: var(--mathub-muted, #6b645c); }

.mathub-tiers { display: grid; gap: .6rem; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.mathub-tier {
	display: flex; align-items: center; gap: .6rem; cursor: pointer; min-height: 52px;
	border: 1px solid var(--mathub-line, #e8e2d9); border-radius: 8px; padding: .7rem .85rem;
}
.mathub-tier input { width: auto; min-height: 0; }
.mathub-tier strong { display: block; }
.mathub-tier small { color: var(--mathub-muted, #6b645c); }

.mathub-table-wrap { overflow-x: auto; max-width: 100%; }
.mathub-table { width: 100%; border-collapse: collapse; min-width: 320px; }
.mathub-table th {
	text-align: left; font-size: .74rem; text-transform: uppercase; letter-spacing: .04em;
	color: var(--mathub-muted, #6b645c); padding: 0 .5rem .6rem 0;
	border-bottom: 1px solid var(--mathub-line, #e8e2d9);
}
.mathub-table td { padding: .5rem .5rem .5rem 0; border-bottom: 1px solid var(--mathub-line, #e8e2d9); font-size: .88rem; }
.mathub-table tr[data-off="true"] { opacity: .55; }
.mathub-rate-col, .mathub-total-col { text-align: right; white-space: nowrap; }
.mathub-total-col { font-weight: 600; }
.mathub-check { display: flex; align-items: center; gap: .5rem; cursor: pointer; min-height: 40px; }
.mathub-check input { width: auto; }
.mathub-count { width: 4.5rem; padding: .35rem .5rem; min-height: 38px; border: 1px solid var(--mathub-line, #e8e2d9); border-radius: 6px; }

@media (max-width: 620px) {
	.mathub-table th:nth-child(3), .mathub-rate-col { display: none; }
}

.mathub-quote__summary {
	border: 1px solid var(--mathub-line, #e8e2d9); border-radius: 10px; padding: 1.25rem;
	position: sticky; top: 2rem;
}
@media (max-width: 1000px) { .mathub-quote__summary { position: static; } }
.mathub-quote__summary h2 { font-size: 1.1rem; margin: 0 0 .75rem; }
.mathub-row { display: flex; justify-content: space-between; gap: 1rem; font-size: .9rem; padding: .4rem 0; color: var(--mathub-muted, #6b645c); }
.mathub-row--total {
	color: inherit; font-weight: 700; font-size: 1.1rem;
	border-top: 1px solid var(--mathub-line, #e8e2d9); margin-top: .5rem; padding-top: .8rem;
}
.mathub-band {
	display: flex; justify-content: space-between; align-items: center; gap: .75rem;
	background: var(--mathub-soft, #f4efe8); border-radius: 8px; padding: .75rem .9rem;
	margin: 1rem 0 .75rem; font-size: .85rem; color: var(--mathub-muted, #6b645c);
}
.mathub-band strong { color: inherit; text-align: right; }
.mathub-disclaimer { font-size: .78rem; color: var(--mathub-muted, #6b645c); }
.mathub-links-head {
	font-size: .78rem; text-transform: uppercase; letter-spacing: .05em;
	color: var(--mathub-muted, #6b645c); margin: 1.5rem 0 .6rem;
}

@media print {
	.mathub-links-head, #mathub-quote-links, #mathub-print, .mathub-block { display: none !important; }
	.mathub-quote { grid-template-columns: 1fr; }
	.mathub-quote__summary { position: static; border-width: 2px; }
}

/* ---------------------------------------------------------------- Designs */

.mathub-design-filters { display: grid; gap: 1.25rem; margin: 0 0 1rem; }
.mathub-filter-label {
	font-size: .78rem; text-transform: uppercase; letter-spacing: .05em;
	color: var(--mathub-muted, #6b645c); margin: 0 0 .5rem;
}
.mathub-design-grid {
	display: grid; gap: 1.25rem; list-style: none; margin: 1rem 0 0; padding: 0;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.mathub-design-card > a {
	display: block; border: 1px solid var(--mathub-line, #e8e2d9); border-radius: 10px;
	overflow: hidden; text-decoration: none; color: inherit;
}
.mathub-design-card > a:hover { border-color: var(--mathub-accent, #8a6f4e); }
.mathub-design-card img { width: 100%; aspect-ratio: 10 / 7; object-fit: cover; display: block; }
.mathub-design-card__placeholder { display: block; aspect-ratio: 10 / 7; background: var(--mathub-soft, #f4efe8); }
.mathub-design-card__body { display: block; padding: .85rem 1rem 1rem; }
.mathub-design-card__title { display: block; font-weight: 600; margin-bottom: .2rem; }
.mathub-design-card__meta { display: block; font-size: .8rem; color: var(--mathub-muted, #6b645c); }

/* ------------------------------------------------------------------ Forms */

.mathub-form { max-width: 720px; }
.mathub-field { margin: 0 0 1rem; }
.mathub-field label { display: block; font-size: .85rem; font-weight: 500; margin-bottom: .35rem; }
.mathub-field input, .mathub-field select, .mathub-field textarea {
	width: 100%; padding: .65rem .8rem; min-height: 44px;
	border: 1px solid var(--mathub-line, #e8e2d9); border-radius: 8px;
	font: inherit;
}
.mathub-field .required { color: #b3452f; }
.mathub-field [aria-invalid="true"] { border-color: #b3452f; }
.mathub-error { display: block; color: #b3452f; font-size: .8rem; margin-top: .35rem; }
.mathub-error-summary {
	border: 1px solid #b3452f; border-radius: 8px; padding: .8rem 1rem;
	margin: 0 0 1.25rem; color: #b3452f; font-size: .9rem;
}
.mathub-checkboxes { display: grid; gap: .3rem; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.mathub-checkbox { display: flex; align-items: center; gap: .5rem; font-size: .88rem; min-height: 40px; font-weight: 400; }
.mathub-checkbox input { width: auto; min-height: 0; }
.mathub-submit { margin-top: .5rem; }

.mathub-success {
	border: 1px solid var(--mathub-accent, #8a6f4e); border-radius: 10px;
	background: var(--mathub-soft, #f4efe8); padding: 2rem 1.5rem; text-align: center;
	max-width: 640px;
}
.mathub-success__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; border-radius: 50%; margin-bottom: .75rem;
	background: var(--mathub-accent, #8a6f4e); color: #fff; font-size: 1.4rem;
}
.mathub-success h2 { font-size: 1.2rem; margin: 0 0 .6rem; }
/* Complete Sample Design detail page (theme-independent content layout). */
.mathub-design-single{padding:48px 20px 72px;background:#f7f6f2;color:#263238}.mathub-design-single__inner{max-width:1180px;margin:0 auto}.mathub-design-single__back{display:inline-block;margin-bottom:24px}.mathub-design-single__terms{color:#65746f;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.mathub-design-single h1{font-size:clamp(2rem,5vw,4rem);line-height:1.05;margin:.2em 0}.mathub-design-single__intro{font-size:1.15rem;max-width:760px;color:#5d686b}.mathub-design-single__image{margin:32px 0}.mathub-design-single__image img{display:block;width:100%;height:auto;max-height:760px;object-fit:cover;border-radius:18px}.mathub-design-single__facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:28px 0}.mathub-design-single__facts div,.mathub-design-single__sections section,.mathub-design-single__shop{background:#fff;border:1px solid #e2e3de;border-radius:14px;padding:20px}.mathub-design-single__facts span{display:block;color:#71807b;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.mathub-design-single__sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mathub-design-single__sections h2,.mathub-design-single__shop h2{margin-top:0}.mathub-design-single__shop{margin-top:16px}.mathub-design-single__shop ul{margin-bottom:0}@media(max-width:760px){.mathub-design-single__facts,.mathub-design-single__sections{grid-template-columns:1fr}.mathub-design-single{padding-top:30px}}
