/* MC Marked – base frontend styles (design baseline; the companion
   MCnorge theme refines colors/typography further, but the plugin works
   standalone with any theme thanks to these). */

:root {
	--mc-primary: #e6291b;
	--mc-primary-dark: #b81f14;
	--mc-ink: #14171a;
	--mc-muted: #6b7280;
	--mc-border: #e3e6ea;
	--mc-bg-soft: #f5f7fa;
	--mc-success: #1a7f37;
	--mc-error: #c0263a;
	--mc-warning: #b5750a;
	--mc-radius: 10px;
	--mc-shadow: 0 1px 3px rgba(20,23,26,.08), 0 1px 2px rgba(20,23,26,.06);
}

.mc-wrap { max-width: 1180px; margin: 0 auto; padding: 24px 20px 64px; }
.mc-wrap * { box-sizing: border-box; }

/* Buttons */
.mc-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	padding: 10px 18px; border-radius: var(--mc-radius); border: 1px solid transparent;
	font-size: 14px; font-weight: 600; cursor: pointer; text-decoration: none; line-height: 1.2;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.mc-btn-primary { background: var(--mc-primary); color: #fff; }
.mc-btn-primary:hover { background: var(--mc-primary-dark); color: #fff; }
.mc-btn-secondary { background: #fff; color: var(--mc-ink); border-color: var(--mc-border); }
.mc-btn-secondary:hover { border-color: var(--mc-primary); color: var(--mc-primary); }
.mc-btn-outline { background: transparent; color: var(--mc-primary); border-color: var(--mc-primary); }
.mc-btn-outline:hover { background: var(--mc-primary); color: #fff; }
.mc-btn-text { background: transparent; color: var(--mc-primary); padding: 10px 4px; }
.mc-btn-danger { color: var(--mc-error); }
.mc-btn-small { padding: 6px 12px; font-size: 13px; }
.mc-btn-block { width: 100%; }

/* Notices */
.mc-notice { background: var(--mc-bg-soft); border: 1px solid var(--mc-border); border-radius: var(--mc-radius); padding: 14px 16px; margin: 0 0 20px; font-size: 14px; }
.mc-notice-success { background: #ecfbef; border-color: #b7e6c1; color: var(--mc-success); }
.mc-notice-error { background: #fdecee; border-color: #f3b8c0; color: var(--mc-error); }
.mc-notice-warning { background: #fff4e0; border-color: #f0d19a; color: var(--mc-warning); }
.mc-notice-info { background: #eef4ff; border-color: #c7d9f7; color: #2452a8; }

/* Badges */
.mc-badge { display: inline-block; padding: 3px 10px; border-radius: 100px; font-size: 12px; font-weight: 700; background: var(--mc-bg-soft); color: var(--mc-muted); }
.mc-badge-dealer { background: #fdece9; color: var(--mc-primary-dark); }
.mc-badge-private { background: var(--mc-bg-soft); color: var(--mc-muted); }
.mc-badge-pending { background: #fff4e0; color: var(--mc-warning); }
.mc-badge-count { background: var(--mc-error); color: #fff; border-radius: 100px; padding: 1px 7px; margin-left: 4px; }
.mc-status-solgt { background: #eee; color: #666; }
.mc-status-reservert { background: #fff4e0; color: var(--mc-warning); }

/* Search form */
.mc-search-form { background: #fff; border: 1px solid var(--mc-border); border-radius: var(--mc-radius); padding: 18px; margin-bottom: 12px; box-shadow: var(--mc-shadow); }
.mc-search-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: end; }
.mc-search-row-filters { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--mc-border); }
.mc-field { display: flex; flex-direction: column; gap: 4px; }
.mc-field-grow { flex: 1 1 200px; }
.mc-field label { font-size: 12px; font-weight: 700; color: var(--mc-muted); text-transform: uppercase; letter-spacing: .02em; }
.mc-field input[type=text], .mc-field input[type=number], .mc-field select { padding: 9px 10px; border: 1px solid var(--mc-border); border-radius: 8px; font-size: 14px; min-width: 140px; }
.mc-checkbox-group { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.mc-checkbox-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px,1fr)); }
.mc-checkbox { font-size: 14px; display: flex; align-items: center; gap: 6px; font-weight: 400; }

.mc-save-search-form { margin: 0 0 24px; }
.mc-save-search-btn { font-size: 13px; }
.mc-save-search-hint { font-size: 13px; color: var(--mc-muted); margin: 0 0 24px; }

/* Grid & cards */
.mc-results-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
.mc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; margin-top: 8px; }
.mc-card { position: relative; background: #fff; border: 1px solid var(--mc-border); border-radius: var(--mc-radius); overflow: hidden; box-shadow: var(--mc-shadow); transition: transform .15s ease, box-shadow .15s ease; }
.mc-card:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(20,23,26,.12); }
.mc-card-media { display: block; position: relative; aspect-ratio: 4/3; background: var(--mc-bg-soft); }
.mc-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mc-badge-status { position: absolute; top: 10px; left: 10px; }
.mc-badge-dealer { position: absolute; top: 10px; left: 10px; }
.mc-badge-status + .mc-badge-dealer, .mc-badge-status ~ .mc-badge-dealer { top: 40px; }
.mc-card-actions { position: absolute; top: 10px; right: 10px; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.mc-fav-btn { width: 34px; height: 34px; border-radius: 50%; border: none; background: rgba(255,255,255,.9); display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--mc-ink); }
.mc-fav-btn svg { fill: none; stroke: currentColor; stroke-width: 2; }
.mc-fav-btn.is-active { color: var(--mc-error); }
.mc-fav-btn.is-active svg { fill: currentColor; }
.mc-fav-btn-text.is-active { color: var(--mc-error); border-color: var(--mc-error); }
.mc-compare-toggle { background: rgba(255,255,255,.95); border-radius: 6px; padding: 4px 8px; font-size: 11px; display: flex; align-items: center; gap: 4px; cursor: pointer; font-weight: 600; color: var(--mc-ink); }
.mc-compare-toggle-single { display: inline-flex; background: none; padding: 0; }
.mc-card-body { padding: 14px 16px 16px; }
.mc-card-price { font-weight: 800; font-size: 17px; }
.mc-card-title { font-size: 15px; margin: 4px 0; }
.mc-card-title a { color: var(--mc-ink); text-decoration: none; }
.mc-card-location { color: var(--mc-muted); font-size: 13px; }
.mc-card-facts { display: flex; gap: 12px; list-style: none; padding: 8px 0 0; margin: 8px 0 0; font-size: 13px; color: var(--mc-muted); border-top: 1px solid var(--mc-border); }

.mc-results-count { color: var(--mc-muted); font-size: 14px; margin-bottom: 4px; }
.mc-pagination { display: flex; gap: 6px; justify-content: center; margin-top: 32px; }
.mc-pagination a, .mc-pagination span { padding: 8px 12px; border: 1px solid var(--mc-border); border-radius: 8px; text-decoration: none; color: var(--mc-ink); }
.mc-pagination .current { background: var(--mc-primary); color: #fff; border-color: var(--mc-primary); }

/* Single listing */
.mc-single-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; flex-wrap: wrap; margin-bottom: 20px; }
.mc-single-header h1 { margin: 8px 0 4px; font-size: 28px; }
.mc-single-address { color: var(--mc-muted); margin: 0; }
.mc-single-header-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.mc-single-price { font-size: 26px; font-weight: 800; }

.mc-gallery { margin-bottom: 24px; }
.mc-gallery-main { border-radius: var(--mc-radius); overflow: hidden; background: var(--mc-bg-soft); aspect-ratio: 16/9; }
.mc-gallery-main img { width: 100%; height: 100%; object-fit: cover; }
.mc-gallery-thumbs { display: flex; gap: 8px; margin-top: 8px; overflow-x: auto; }
.mc-gallery-thumb { width: 90px; height: 66px; object-fit: cover; border-radius: 6px; cursor: pointer; opacity: .65; flex-shrink: 0; }
.mc-gallery-thumb.is-active { opacity: 1; outline: 2px solid var(--mc-primary); }

.mc-single-columns { display: grid; grid-template-columns: 1fr 340px; gap: 32px; align-items: start; }
.mc-section { margin-bottom: 28px; }
.mc-section h2 { font-size: 19px; margin-bottom: 12px; }
.mc-facts-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px,1fr)); gap: 12px 20px; }
.mc-facts-grid div { display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.mc-facts-grid span { color: var(--mc-muted); font-size: 12px; }
.mc-map { width: 100%; height: 320px; border-radius: var(--mc-radius); border: 1px solid var(--mc-border); }

/* Condition checklist */
.mc-checklist-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px,1fr)); gap: 14px 20px; background: var(--mc-bg-soft); border-radius: var(--mc-radius); padding: 16px; }
.mc-checklist-item { display: flex; flex-direction: column; gap: 3px; font-size: 14px; }
.mc-checklist-label { color: var(--mc-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .02em; }
.mc-flag-ok { color: var(--mc-success); }
.mc-flag-warning { color: var(--mc-warning); }
.mc-service-history { white-space: pre-line; background: var(--mc-bg-soft); border-radius: 8px; padding: 12px 14px; font-size: 14px; }

/* Loan calculator */
.mc-loan-calculator { background: #fff; border: 1px solid var(--mc-border); border-radius: var(--mc-radius); padding: 20px; box-shadow: var(--mc-shadow); }
.mc-loan-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.mc-loan-inputs label { display: block; font-size: 13px; font-weight: 600; margin: 12px 0 4px; }
.mc-loan-inputs label:first-child { margin-top: 0; }
.mc-loan-inputs input[type=range] { width: 100%; }
.mc-loan-inputs input[type=number] { width: 100%; padding: 8px 10px; border: 1px solid var(--mc-border); border-radius: 8px; }
.mc-loan-value { font-size: 13px; color: var(--mc-muted); text-align: right; }
.mc-loan-result { background: var(--mc-bg-soft); border-radius: 8px; padding: 16px; }
.mc-loan-monthly { text-align: center; margin-bottom: 12px; }
.mc-loan-monthly span { display: block; font-size: 12px; color: var(--mc-muted); text-transform: uppercase; }
.mc-loan-monthly strong { font-size: 26px; color: var(--mc-primary-dark); }
.mc-loan-breakdown { list-style: none; padding: 0; margin: 0; font-size: 13px; display: flex; flex-direction: column; gap: 6px; }
.mc-loan-breakdown li { display: flex; justify-content: space-between; border-bottom: 1px dashed var(--mc-border); padding-bottom: 4px; }
.mc-loan-disclaimer { font-size: 11px; color: var(--mc-muted); margin: 10px 0 0; }
@media (max-width: 640px) { .mc-loan-grid { grid-template-columns: 1fr; } }

/* Compare page */
.mc-compare-bar-link { font-weight: 700; }
.mc-compare-table-wrap { overflow-x: auto; }
.mc-compare-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--mc-border); border-radius: var(--mc-radius); }
.mc-compare-table th, .mc-compare-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--mc-border); font-size: 14px; white-space: nowrap; }
.mc-compare-table thead th { background: var(--mc-bg-soft); vertical-align: top; }
.mc-compare-table thead th a { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--mc-ink); white-space: normal; max-width: 160px; }
.mc-compare-table thead th img { width: 100%; height: 90px; object-fit: cover; border-radius: 6px; }
.mc-compare-table tbody th { background: var(--mc-bg-soft); font-size: 12px; text-transform: uppercase; color: var(--mc-muted); white-space: normal; }
.mc-compare-cta-row td { border-bottom: none; }

.mc-seller-box { background: #fff; border: 1px solid var(--mc-border); border-radius: var(--mc-radius); padding: 18px; margin-bottom: 16px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; box-shadow: var(--mc-shadow); }
.mc-seller-box img { border-radius: 50%; }
.mc-seller-info { display: flex; flex-direction: column; gap: 3px; }
.mc-seller-phone { font-weight: 700; }
.mc-link-profile { display: block; width: 100%; margin-top: 8px; font-size: 13px; }
.mc-seller-box-large { flex-direction: row; align-items: flex-start; }
.mc-seller-bio { color: var(--mc-muted); font-size: 14px; margin-top: 6px; }

.mc-contact-box { background: #fff; border: 1px solid var(--mc-border); border-radius: var(--mc-radius); padding: 18px; box-shadow: var(--mc-shadow); }
.mc-contact-box h3 { margin-top: 0; }
.mc-contact-form label, .mc-auth-form label, .mc-profile-form label, .mc-submit-form-wrap label {
	display: block; font-size: 13px; font-weight: 600; margin: 12px 0 4px;
}
.mc-contact-form input, .mc-contact-form textarea,
.mc-auth-form input, .mc-auth-form textarea,
.mc-profile-form input, .mc-profile-form textarea,
.mc-submit-form-wrap input:not([type=checkbox]):not([type=radio]), .mc-submit-form-wrap textarea, .mc-submit-form-wrap select {
	width: 100%; padding: 10px; border: 1px solid var(--mc-border); border-radius: 8px; font-size: 14px; font-family: inherit;
}
.mc-hp-field { position: absolute !important; left: -9999px !important; }

/* Auth forms */
.mc-auth-form { max-width: 440px; margin: 0 auto; background: #fff; border: 1px solid var(--mc-border); border-radius: var(--mc-radius); padding: 28px; box-shadow: var(--mc-shadow); }
.mc-auth-switch { text-align: center; margin-top: 16px; font-size: 14px; }
.mc-role-toggle { display: flex; gap: 16px; }
.mc-radio { font-weight: 400 !important; display: flex; align-items: center; gap: 6px; }

/* Dashboard */
.mc-dashboard-header { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.mc-dashboard-header h2 { flex: 1; margin: 0; font-size: 20px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mc-dashboard-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--mc-border); margin-bottom: 20px; flex-wrap: wrap; }
.mc-dashboard-tabs a { padding: 10px 16px; text-decoration: none; color: var(--mc-muted); font-weight: 600; border-bottom: 2px solid transparent; }
.mc-dashboard-tabs a.is-active { color: var(--mc-primary); border-color: var(--mc-primary); }
.mc-dashboard-hint { font-size: 13px; color: var(--mc-muted); margin: 0 0 16px; }

.mc-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--mc-border); border-radius: var(--mc-radius); overflow: hidden; }
.mc-table th, .mc-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--mc-border); font-size: 14px; }
.mc-table th { background: var(--mc-bg-soft); font-size: 12px; text-transform: uppercase; color: var(--mc-muted); }
.mc-table-actions { display: flex; gap: 6px; flex-wrap: wrap; }

.mc-messages { display: flex; flex-direction: column; gap: 12px; }
.mc-message { background: #fff; border: 1px solid var(--mc-border); border-radius: var(--mc-radius); padding: 14px 16px; }
.mc-message-in { border-left: 3px solid var(--mc-primary); }
.mc-message-meta { display: flex; justify-content: space-between; font-size: 13px; color: var(--mc-muted); margin-bottom: 4px; }
.mc-message-from { font-weight: 600; font-size: 14px; margin-bottom: 6px; }
.mc-message-body { margin: 0 0 10px; }

.mc-avatar-upload { display: flex; align-items: center; gap: 14px; margin-bottom: 10px; }
.mc-avatar-upload img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.mc-divider { border: none; border-top: 1px solid var(--mc-border); margin: 32px 0; }

/* Dealer credits */
.mc-credits-balance { text-align: center; background: var(--mc-bg-soft); border-radius: var(--mc-radius); padding: 24px; margin-bottom: 20px; }
.mc-credits-number { display: block; font-size: 40px; font-weight: 800; color: var(--mc-primary-dark); }
.mc-credits-label { font-size: 13px; color: var(--mc-muted); text-transform: uppercase; }
.mc-credit-packages { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); gap: 16px; }
.mc-credit-package { background: #fff; border: 1px solid var(--mc-border); border-radius: var(--mc-radius); padding: 20px; text-align: center; box-shadow: var(--mc-shadow); }
.mc-credit-package h4 { margin: 0 0 8px; }
.mc-credit-package-count { color: var(--mc-muted); font-size: 13px; margin: 0 0 4px; }
.mc-credit-package-price { font-size: 22px; font-weight: 800; margin: 0 0 14px; }

/* Submission form */
.mc-submit-form-wrap { background: #fff; border: 1px solid var(--mc-border); border-radius: var(--mc-radius); padding: 24px; box-shadow: var(--mc-shadow); }
.mc-steps-nav { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 20px; border-bottom: 1px solid var(--mc-border); padding-bottom: 12px; }
.mc-step-dot { font-size: 13px; font-weight: 600; color: var(--mc-muted); padding: 6px 10px; border-radius: 100px; }
.mc-step-dot.is-active { background: var(--mc-primary); color: #fff; }
.mc-form-step { display: none; }
.mc-form-step.is-active { display: block; }
.mc-form-grid-2 { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap: 0 20px; }
.mc-step-actions { display: flex; justify-content: space-between; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--mc-border); }
.mc-help-text { font-size: 13px; color: var(--mc-muted); margin: 4px 0 10px; }
.mc-address-results { position: relative; }
.mc-address-results ul { list-style: none; margin: -4px 0 12px; padding: 0; border: 1px solid var(--mc-border); border-radius: 8px; overflow: hidden; }
.mc-address-results li { padding: 8px 10px; font-size: 13px; cursor: pointer; border-bottom: 1px solid var(--mc-border); }
.mc-address-results li:hover { background: var(--mc-bg-soft); }
.mc-regnr-lookup-row { display: flex; gap: 8px; align-items: center; }
.mc-regnr-lookup-row input { flex: 1; }
.mc-listing-code { font-size: 13px; color: var(--mc-muted); margin: 2px 0 0; }
.mc-regnr-box { background: var(--mc-bg-soft); border: 1px solid var(--mc-border); border-radius: var(--mc-radius); padding: 20px; margin-bottom: 24px; }
.mc-regnr-box h3 { margin: 0 0 4px; }
.mc-regnr-skip { display: block; margin-top: 10px; text-decoration: underline; padding-left: 0; }
#mc-form-step1-rest.is-hidden { display: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.mc-dropzone { border: 2px dashed var(--mc-border); border-radius: var(--mc-radius); padding: 40px 20px; text-align: center; color: var(--mc-muted); cursor: pointer; margin-bottom: 14px; }
.mc-dropzone.is-dragover { border-color: var(--mc-primary); color: var(--mc-primary); background: var(--mc-bg-soft); }
.mc-image-list { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0; }
.mc-image-list li { position: relative; width: 100px; height: 100px; border-radius: 8px; overflow: hidden; border: 1px solid var(--mc-border); }
.mc-image-list li img { width: 100%; height: 100%; object-fit: cover; }
.mc-image-list li .mc-img-remove { position: absolute; top: 3px; right: 3px; width: 22px; height: 22px; border-radius: 50%; background: rgba(0,0,0,.6); color: #fff; border: none; cursor: pointer; font-size: 13px; line-height: 1; }
.mc-image-list li .mc-img-featured { position: absolute; bottom: 3px; left: 3px; background: var(--mc-primary); color: #fff; font-size: 10px; padding: 2px 6px; border-radius: 4px; }

@media (max-width: 880px) {
	.mc-single-columns { grid-template-columns: 1fr; }
}
