/* =====================================================================
   Villora — Hizmet pazaryeri (sağlayıcı paneli + sahip paneli sayfaları)
   panel.css belirteçlerini kullanır (--brand, --surface, --border, --r, --s*). Önek: .mkp-
   ===================================================================== */

.area-provider { --side-bg: #1c2421; }
.area-provider .p-brand-mark, .mkp-brand-mark { background: linear-gradient(135deg, var(--sand), #d9733a); color: #2b1608; }
.mkp-banner-bad { background: var(--red-bg); color: var(--red); border-bottom-color: color-mix(in srgb, var(--red) 30%, transparent); }
.mkp-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sand); }
.mkp-eyebrow::before { content: ""; width: 18px; height: 1.5px; background: currentColor; }

/* ---------- Kahraman / başlık şeritleri ---------- */
.mkp-hero { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); flex-wrap: wrap; padding: var(--s5); margin-bottom: var(--s5); border-radius: var(--r-xl);
  background: radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--sand) 22%, transparent) 0%, transparent 55%), linear-gradient(135deg, var(--side-bg), #0f3c3f); color: #eef4f3; box-shadow: var(--sh-3); }
.mkp-hero h1 { font-size: 26px; letter-spacing: -.02em; margin: 2px 0 6px; color: #fff; }
.mkp-hero-id { display: flex; align-items: center; gap: var(--s4); min-width: 0; }
.mkp-hero-meta { display: flex; gap: 10px 14px; flex-wrap: wrap; align-items: center; font-size: 13px; }
.mkp-hero .muted { color: rgba(238,244,243,.72); }
.mkp-hero-actions { display: flex; gap: var(--s2); flex-wrap: wrap; }
.mkp-hero .btn:not(.btn-primary) { background: rgba(255,255,255,.1); color: #fff; border-color: rgba(255,255,255,.18); }
.mkp-hero .btn-primary { background: var(--sand); border-color: var(--sand); color: #2b1608; }
.mkp-hero-logo { width: 64px; height: 64px; border-radius: 18px; flex: none; display: grid; place-items: center; overflow: hidden; background: linear-gradient(135deg, var(--brand), var(--c1)); color: #fff; font-size: 26px; font-weight: 700; box-shadow: 0 0 0 3px rgba(255,255,255,.14); }
.mkp-hero-logo img { width: 100%; height: 100%; object-fit: cover; }
.mkp-hero-logo.sm { width: 42px; height: 42px; border-radius: 12px; font-size: 17px; box-shadow: none; }
.mkp-stars-inline { display: inline-flex; align-items: center; gap: 4px; color: var(--sand); }
.mkp-stars-inline b { color: inherit; }
.mkp-hero .mkp-stars-inline .muted { color: rgba(238,244,243,.7); }

.mkp-banner { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--s5); flex-wrap: wrap; padding: 28px 30px; margin-bottom: var(--s5); border-radius: var(--r-xl); color: #fff; position: relative; overflow: hidden;
  background: linear-gradient(100deg, rgba(10,30,32,.92) 0%, rgba(10,30,32,.65) 55%, rgba(10,30,32,.2) 100%), url('../../uploads/demo/d07.jpg') center/cover; box-shadow: var(--sh-3); }
.mkp-banner-guest { background: linear-gradient(100deg, rgba(43,22,8,.9) 0%, rgba(60,34,14,.6) 55%, rgba(60,34,14,.15) 100%), url('../../uploads/demo/d14.jpg') center/cover; }
.mkp-banner h1 { font-size: clamp(24px, 3vw, 34px); letter-spacing: -.025em; margin: 8px 0 6px; color: #fff; max-width: 22ch; }
.mkp-banner p { margin: 0; max-width: 58ch; color: rgba(255,255,255,.84); font-size: 14.5px; }
.mkp-banner-pills { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.mkp-banner-pills span { display: inline-flex; gap: 6px; align-items: center; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.12); backdrop-filter: blur(8px); font-size: 12.5px; font-weight: 600; }
.mkp-banner .btn { background: rgba(255,255,255,.95); color: var(--text); border-color: transparent; }
.mkp-banner-stats { display: flex; gap: var(--s3); }
.mkp-banner-stats div { padding: 12px 18px; border-radius: var(--r-lg); background: rgba(10,20,20,.42); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(8px); min-width: 110px; }
.mkp-banner-stats b { display: block; font-size: 26px; letter-spacing: -.02em; }
.mkp-banner-stats span { font-size: 12px; color: rgba(255,255,255,.85); }

/* ---------- Ortak küçük parçalar ---------- */
.mkp-ico { width: 38px; height: 38px; border-radius: 11px; flex: none; display: grid; place-items: center; background: var(--surface-3); color: var(--text-2); }
.mkp-ico-pro { background: var(--brand-50); color: var(--brand); }
.mkp-ico-guest { background: var(--sand-50); color: #b25d22; }
.mkp-cat-pill { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; background: var(--surface-3); font-size: 12px; font-weight: 600; color: var(--text-2); white-space: nowrap; }
.mkp-group-h { display: flex; align-items: center; gap: 8px; font-size: 15px; margin: var(--s5) 0 var(--s3); }
.mkp-ticks { list-style: none; padding: 0; margin: 10px 0; display: grid; gap: 5px; font-size: 13px; color: var(--text-2); }
.mkp-ticks li { display: flex; gap: 7px; align-items: flex-start; }
.mkp-ticks .i { color: var(--green); margin-top: 2px; }
.mkp-note { padding: 10px 14px; border-radius: var(--r); background: var(--surface-2); border: 1px dashed var(--border-strong); font-size: 13px; color: var(--text-2); }
.mkp-readonly { display: flex; align-items: center; background: var(--surface-2); color: var(--text-2); }
.mkp-legend { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--text-2); }
.mkp-legend i { width: 12px; height: 12px; border-radius: 4px; display: inline-block; border: 1px solid var(--border-strong); background: var(--surface); }
.mkp-legend .lg-blocked { background: repeating-linear-gradient(135deg, var(--red-bg) 0 3px, color-mix(in srgb, var(--red) 25%, var(--surface)) 3px 5px); border-color: color-mix(in srgb, var(--red) 40%, transparent); }
.mkp-legend .lg-job { background: var(--brand-100); border-color: var(--brand); }
.mkp-legend .lg-sel { background: var(--brand); border-color: var(--brand); }
.mkp-step-n { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--brand); color: #fff; font-size: 12.5px; margin-right: 4px; }
.mkp-tip { background: linear-gradient(135deg, var(--sand-50), var(--surface)); }
.mkp-tip h3 { display: flex; align-items: center; gap: 6px; font-size: 14px; margin: 0 0 6px; color: #b25d22; }
.mkp-date { width: 58px; flex: none; text-align: center; padding: 6px 0; border-radius: var(--r); background: var(--brand-50); color: var(--brand); }
.mkp-date b { display: block; font-size: 20px; line-height: 1.1; }
.mkp-date small { font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; }
.mkp-villa-cell { display: flex; gap: 10px; align-items: center; }
.mkp-villa-cell img { width: 48px; height: 36px; border-radius: 6px; object-fit: cover; flex: none; }
.mkp-villa-cell small { display: block; font-size: 11.5px; }
.mkp-villa-cover { width: 100%; height: 150px; object-fit: cover; display: block; }
.mkp-stat-hero { background: linear-gradient(135deg, var(--brand-50), var(--surface)); }
.d-block { display: block; }
.text-center { text-align: center; }
.chip-sm { height: 28px; font-size: 12px; padding: 0 10px; }

/* ---------- Sipariş adımları ---------- */
.mkp-stepper-card .card-b { padding: 18px 22px; }
.mkp-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); counter-reset: s; }
.mkp-steps li { position: relative; text-align: center; padding-top: 2px; font-size: 12.5px; color: var(--text-3); }
.mkp-steps li::before { content: ""; position: absolute; top: 15px; left: -50%; right: 50%; height: 2px; background: var(--border); z-index: 0; }
.mkp-steps li:first-child::before { display: none; }
.mkp-steps li.done::before, .mkp-steps li.current::before { background: var(--brand); }
.mkp-steps .dot { position: relative; z-index: 1; width: 30px; height: 30px; margin: 0 auto 8px; border-radius: 50%; display: grid; place-items: center; background: var(--surface); border: 2px solid var(--border-strong); font-weight: 700; color: var(--text-3); }
.mkp-steps li.done .dot { background: var(--brand); border-color: var(--brand); color: #fff; }
.mkp-steps li.current .dot { border-color: var(--sand); background: var(--sand-50); color: #b25d22; box-shadow: 0 0 0 5px color-mix(in srgb, var(--sand) 22%, transparent); }
.mkp-steps b { display: block; font-size: 12.5px; color: var(--text); font-weight: 600; }
.mkp-steps li:not(.done):not(.current) b { color: var(--text-3); font-weight: 500; }
.mkp-steps small { display: block; color: var(--text-3); font-size: 11px; }
.mkp-steps.is-cancelled li .dot, .mkp-steps.is-refunded li .dot { filter: grayscale(1); opacity: .7; }

/* ---------- Teklif kartları (sağlayıcı) ---------- */
.mkp-off-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--s4); }
.mkp-off { display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; }
.mkp-off:hover { box-shadow: var(--sh-3); transform: translateY(-2px); }
.mkp-off.is-off { opacity: .66; }
.mkp-off .card-b { flex: 1; }
.mkp-off .card-f { display: flex; gap: 8px; }
.mkp-off-top { display: flex; gap: 10px; align-items: flex-start; }
.mkp-off-top h3 { font-size: 15px; margin: 2px 0 0; line-height: 1.3; }
.mkp-off-top h3 a { color: inherit; }
.mkp-off-price { font-size: 22px; font-weight: 700; letter-spacing: -.02em; margin: 12px 0 4px; }
.mkp-off-price small { font-size: 12.5px; font-weight: 500; color: var(--text-3); }
.mkp-off-meta { display: flex; gap: 12px; flex-wrap: wrap; }
.mkp-off-meta span { display: inline-flex; gap: 4px; align-items: center; }
.mkp-rep-row { display: grid; grid-template-columns: 1fr 160px 40px; gap: 8px; margin-bottom: 8px; align-items: center; }
.mkp-rep-route { grid-template-columns: 1.4fr 1fr 110px 140px 40px; }

/* ---------- Takvim (sağlayıcı) ---------- */
.mkp-cal-months { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--s4); }
.mkp-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.mkp-cal-dow { text-align: center; font-size: 11px; color: var(--text-3); text-transform: uppercase; letter-spacing: .04em; padding-bottom: 4px; }
.mkp-day { position: relative; aspect-ratio: 1; border-radius: 9px; border: 1px solid var(--border); background: var(--surface); cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; transition: .15s; user-select: none; }
.mkp-day:hover { border-color: var(--brand); }
.mkp-day input { position: absolute; opacity: 0; pointer-events: none; }
.mkp-day:has(input:checked) { background: var(--brand); color: #fff; border-color: var(--brand); box-shadow: 0 0 0 3px var(--ring); }
.mkp-day.is-blocked { background: repeating-linear-gradient(135deg, var(--red-bg) 0 4px, color-mix(in srgb, var(--red) 14%, var(--surface)) 4px 7px); color: var(--red); border-color: color-mix(in srgb, var(--red) 35%, transparent); }
.mkp-day.has-job { border-color: var(--brand); background: var(--brand-50); }
.mkp-day.is-past { opacity: .35; cursor: default; }
.mkp-day.is-today .n { text-decoration: underline; text-underline-offset: 3px; }
.mkp-day-jobs { display: flex; gap: 2px; font-size: 9.5px; }
.mkp-day-jobs a { background: var(--brand); color: #fff; border-radius: 4px; padding: 0 3px; text-decoration: none; }
.mkp-cal-note { max-width: 220px; height: 34px; }

/* ---------- Sipariş detay (sağlayıcı) ---------- */
.mkp-date-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.mkp-date-opt { position: relative; cursor: pointer; }
.mkp-date-opt input[type=radio] { position: absolute; opacity: 0; }
.mkp-date-opt > span { display: flex; flex-direction: column; gap: 2px; min-width: 104px; padding: 10px 14px; border-radius: var(--r); border: 1.5px solid var(--border); background: var(--surface); }
.mkp-date-opt > span b { font-size: 15px; }
.mkp-date-opt > span small { font-size: 11.5px; color: var(--text-3); }
.mkp-date-opt > span .input { height: 32px; margin-top: 4px; }
.mkp-date-opt input:checked + span { border-color: var(--brand); background: var(--brand-50); box-shadow: 0 0 0 3px var(--ring); }
.mkp-date-opt.is-blocked > span small { color: var(--red); }
.mkp-files { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.mkp-file { position: relative; margin: 0; border-radius: var(--r); overflow: hidden; background: var(--surface-3); aspect-ratio: 4 / 3; cursor: pointer; }
.mkp-file img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.mkp-file:hover img { transform: scale(1.04); }
.mkp-file form { position: absolute; top: 6px; right: 6px; opacity: 0; transition: opacity .15s; }
.mkp-file:hover form { opacity: 1; }
.mkp-file-badge { position: absolute; left: 6px; bottom: 6px; box-shadow: var(--sh-2); }
.mkp-file-cb { position: absolute; top: 8px; left: 8px; width: 20px; height: 20px; accent-color: var(--brand); cursor: pointer; }
.mkp-file:has(.mkp-file-cb:checked) { box-shadow: 0 0 0 3px var(--brand); }
.mkp-file.is-in { opacity: .8; }
.mkp-file-zoom { position: absolute; right: 6px; bottom: 6px; width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; background: rgba(0,0,0,.45); color: #fff; opacity: 0; transition: opacity .15s; }
.mkp-file:hover .mkp-file-zoom { opacity: 1; }
.mkp-links > li { padding-left: 0; padding-right: 0; }
.mkp-link-form { display: grid; grid-template-columns: 130px 1.4fr 1fr auto; gap: 8px; }
.mkp-deliver { display: flex; gap: 10px; align-items: flex-start; }
.mkp-deliver .textarea { flex: 1; min-height: 44px; }
.mkp-gal-bar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; padding: 14px 16px; border-radius: var(--r-lg); background: linear-gradient(135deg, var(--brand-50), var(--surface)); border: 1px solid var(--brand-100); position: sticky; bottom: 12px; box-shadow: var(--sh-3); }
.mkp-gal-bar .select { width: auto; }
.mkp-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.mkp-facts > div { padding: 10px 12px; border-radius: var(--r); background: var(--surface-2); border: 1px solid var(--border); }
.mkp-facts span { display: flex; gap: 5px; align-items: center; font-size: 11.5px; color: var(--text-3); text-transform: uppercase; letter-spacing: .04em; margin-bottom: 3px; }
.mkp-facts b { font-size: 14px; }

/* ---------- Yıldızlar ---------- */
.mkp-stars { --v: 5; display: inline-block; font-size: 16px; line-height: 1; letter-spacing: 2px; background: linear-gradient(90deg, var(--sand) calc(var(--v) / 5 * 100%), var(--border-strong) 0); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mkp-stars::before { content: "★★★★★"; }
.mkp-review p { margin: 6px 0 2px; font-style: italic; color: var(--text-2); }
.mkp-rate { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 2px; align-self: flex-start; width: max-content; }
.mkp-rate input { position: absolute; opacity: 0; }
.mkp-rate label { font-size: 30px; line-height: 1; cursor: pointer; color: var(--border-strong); transition: color .12s, transform .12s; }
.mkp-rate label:hover, .mkp-rate label:hover ~ label, .mkp-rate input:checked ~ label { color: var(--sand); }
.mkp-rate label:hover { transform: scale(1.12); }

/* ---------- Portfolyo / profil ---------- */
.mkp-pf-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.mkp-pf { position: relative; aspect-ratio: 4 / 3; border-radius: var(--r); overflow: hidden; background: var(--surface-3); }
.mkp-pf img { width: 100%; height: 100%; object-fit: cover; }
.mkp-pf form { position: absolute; top: 6px; right: 6px; opacity: 0; transition: .15s; }
.mkp-pf:hover form { opacity: 1; }
.mkp-brand-prev { height: 120px; border-radius: var(--r-lg); background: linear-gradient(135deg, var(--side-bg), var(--brand)) center/cover; display: flex; align-items: flex-end; padding: 12px; }
.mkp-cov-row { display: flex; gap: 10px; align-items: flex-start; flex-wrap: wrap; padding: 10px 0; border-top: 1px solid var(--border); }
.mkp-cov-d { min-width: 170px; }
.mkp-cov-row .chips { flex: 1; }

/* ---------- Sahip: katalog ---------- */
.mkp-filter { align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.mkp-filter .select { min-width: 320px; }
.mkp-cat-chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 var(--s4); }
.mkp-cat-chip { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; background: var(--surface); border: 1px solid var(--border); font-size: 13px; font-weight: 600; color: var(--text-2); text-decoration: none; transition: .15s; }
.mkp-cat-chip:hover { border-color: var(--brand); color: var(--brand); text-decoration: none; }
.mkp-cat-chip.on { background: var(--brand); border-color: var(--brand); color: #fff; }
.mkp-prov { overflow: hidden; }
.mkp-prov-head { display: flex; align-items: center; gap: var(--s4); padding: var(--s5) var(--s5) var(--s4); flex-wrap: wrap; }
.mkp-prov-head .mkp-hero-logo { box-shadow: none; }
.mkp-prov-head h2 { font-size: 19px; margin: 0 0 6px; letter-spacing: -.015em; }
.mkp-prov-head h2 a { color: inherit; }
.mkp-prov-meta { display: flex; gap: 8px 14px; flex-wrap: wrap; align-items: center; font-size: 12.5px; }
.mkp-prov-meta > span { display: inline-flex; gap: 4px; align-items: center; }
.mkp-strip { display: grid; grid-template-columns: 2fr repeat(5, 1fr); gap: 4px; height: 170px; padding: 0 var(--s5); }
.mkp-strip a { border-radius: 10px; overflow: hidden; background: var(--surface-3); }
.mkp-strip img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.mkp-strip a:hover img { transform: scale(1.05); }
.mkp-pkgs { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--s3); padding: var(--s5); }
.mkp-pkgs-wide { padding: 0; }
.mkp-pkg { display: flex; flex-direction: column; padding: 16px; border-radius: var(--r-lg); border: 1px solid var(--border); background: var(--surface-2); transition: border-color .2s, box-shadow .2s; }
.mkp-pkg:hover { border-color: var(--brand-100); box-shadow: var(--sh-2); background: var(--surface); }
.mkp-pkg-h { display: flex; gap: 10px; align-items: center; }
.mkp-pkg-h h3 { font-size: 15px; margin: 0; line-height: 1.3; }
.mkp-pkg-f { margin-top: auto; padding-top: 12px; display: flex; justify-content: space-between; align-items: flex-end; gap: 8px; border-top: 1px dashed var(--border); }
.mkp-price { font-size: 21px; font-weight: 750; letter-spacing: -.02em; }
.mkp-extras { display: flex; flex-direction: column; gap: 3px; margin-bottom: 8px; color: var(--text-2); }
.mkp-cover { min-height: 220px; border-radius: var(--r-xl); background: linear-gradient(135deg, var(--side-bg), var(--brand)) center/cover; position: relative; overflow: hidden; display: flex; align-items: flex-end; box-shadow: var(--sh-3); }
.mkp-cover::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(8,20,22,.85) 100%); }
.mkp-cover-in { position: relative; display: flex; gap: var(--s4); align-items: center; padding: var(--s5); color: #fff; }
.mkp-cover h1 { color: #fff; font-size: 28px; margin: 0 0 6px; letter-spacing: -.02em; }
.mkp-cover .mkp-prov-meta { color: rgba(255,255,255,.88); }
.mkp-about { font-size: 15px; line-height: 1.65; color: var(--text-2); }
.mkp-gallery { columns: 3 200px; column-gap: 8px; }
.mkp-gallery a { display: block; margin-bottom: 8px; border-radius: 10px; overflow: hidden; break-inside: avoid; }
.mkp-gallery img { width: 100%; display: block; }

/* ---------- Sahip: sipariş formu ---------- */
.mkp-villa-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; }
.mkp-villa-opt input { position: absolute; opacity: 0; }
.mkp-villa-card { display: flex; gap: 10px; align-items: center; padding: 8px; border-radius: var(--r-lg); border: 1.5px solid var(--border); cursor: pointer; transition: .15s; }
.mkp-villa-card img, .mkp-villa-ph { width: 64px; height: 48px; border-radius: 8px; object-fit: cover; flex: none; background: var(--surface-3); display: grid; place-items: center; }
.mkp-villa-card small { display: block; font-size: 11.5px; }
.mkp-villa-opt input:checked + .mkp-villa-card { border-color: var(--brand); background: var(--brand-50); box-shadow: 0 0 0 3px var(--ring); }
.mkp-date-inputs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.mkp-mini-cal { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s4); padding: 14px; border-radius: var(--r-lg); background: var(--surface-2); border: 1px solid var(--border); }
.mkp-mc-title { font-size: 12.5px; font-weight: 700; margin-bottom: 6px; text-transform: capitalize; }
.mkp-mc-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.mkp-mc-d { aspect-ratio: 1; border: 0; border-radius: 7px; font: inherit; font-size: 11.5px; font-weight: 600; cursor: pointer; background: var(--surface); color: var(--text); transition: .12s; }
.mkp-mc-d:hover:not(:disabled) { background: var(--brand-100); }
.mkp-mc-d.past { opacity: .3; cursor: default; }
.mkp-mc-d.blocked { background: repeating-linear-gradient(135deg, var(--red-bg) 0 3px, color-mix(in srgb, var(--red) 18%, var(--surface)) 3px 5px); color: var(--red); cursor: not-allowed; }
.mkp-mc-d.busy { background: var(--brand-100); color: var(--brand); }
.mkp-mc-d.sel { background: var(--brand); color: #fff; box-shadow: 0 0 0 2px var(--ring); }
.mkp-extra-opts { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; }
.mkp-extra-opt { position: relative; cursor: pointer; }
.mkp-extra-opt input { position: absolute; top: 14px; left: 14px; accent-color: var(--brand); }
.mkp-extra-opt span { display: block; padding: 12px 14px 12px 40px; border-radius: var(--r-lg); border: 1.5px solid var(--border); }
.mkp-extra-opt small { display: block; color: var(--brand); font-weight: 700; }
.mkp-extra-opt input:checked + span { border-color: var(--brand); background: var(--brand-50); }
.mkp-summary { position: sticky; top: calc(var(--top-h) + 16px); }
.mkp-sum { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin: 16px 0; padding-top: 14px; border-top: 1px solid var(--border); font-size: 13.5px; }
.mkp-sum dt { color: var(--text-3); } .mkp-sum dd { margin: 0; text-align: right; font-weight: 600; }
.mkp-sum .tot { font-size: 18px; font-weight: 750; color: var(--text); padding-top: 8px; border-top: 1px dashed var(--border); }

/* ---------- Sahip: sipariş listesi ---------- */
.mkp-order-list { display: grid; gap: 10px; }
.mkp-order-row { display: flex; align-items: center; gap: var(--s4); padding: 12px 16px; text-decoration: none; color: inherit; transition: box-shadow .2s, transform .2s; }
.mkp-order-row:hover { box-shadow: var(--sh-3); text-decoration: none; transform: translateY(-1px); }
.mkp-order-row.needs { border-left: 3px solid var(--sand); }
.mkp-order-thumb { width: 84px; height: 62px; border-radius: 10px; overflow: hidden; flex: none; background: var(--surface-3); }
.mkp-order-thumb img { width: 100%; height: 100%; object-fit: cover; }
.mkp-order-right { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.mkp-order-right b { font-size: 16px; }

/* ---------- Misafir hizmetleri matrisi ---------- */
.mkp-matrix th, .mkp-matrix td { vertical-align: middle; }
.mkp-mx-h { display: inline-flex; flex-direction: column; align-items: center; gap: 3px; font-weight: 600; }
.mkp-mx-h small { font-size: 10.5px; max-width: 86px; white-space: normal; line-height: 1.2; color: var(--text-3); text-transform: none; letter-spacing: 0; }
.mkp-cell { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; cursor: pointer; }
.mkp-cell input { position: absolute; opacity: 0; }
.mkp-cell-box { width: 26px; height: 26px; border-radius: 8px; border: 1.5px solid var(--border-strong); display: grid; place-items: center; color: transparent; transition: .15s; }
.mkp-cell input:checked + .mkp-cell-box { background: var(--brand); border-color: var(--brand); color: #fff; }
.mkp-cell small { font-size: 10.5px; color: var(--text-3); }
.mkp-cell.is-none .mkp-cell-box { border-style: dashed; }
.mkp-matrix tr.is-off td:nth-child(n+3) { opacity: .35; pointer-events: none; }
.mkp-sw span:empty { padding: 0; }
.mkp-become { background: linear-gradient(160deg, var(--sand-50), var(--surface) 60%); }
.card-f .small.muted { margin-left: auto; }

/* ---------- Duyarlı ---------- */
@media (max-width: 900px) {
  .mkp-steps { grid-template-columns: repeat(3, 1fr); row-gap: 14px; }
  .mkp-steps li:nth-child(4)::before { display: none; }
  .mkp-mini-cal { grid-template-columns: 1fr; }
  .mkp-strip { grid-template-columns: repeat(3, 1fr); height: auto; }
  .mkp-strip a { aspect-ratio: 4 / 3; }
  .mkp-link-form { grid-template-columns: 1fr; }
  .mkp-rep-route { grid-template-columns: 1fr 1fr; }
  .mkp-date-inputs { grid-template-columns: 1fr; }
  .mkp-filter .select { min-width: 0; width: 100%; }
}
@media (max-width: 600px) {
  .mkp-order-row { flex-wrap: wrap; }
  .mkp-rep-row { grid-template-columns: 1fr 1fr 40px; }
  .mkp-hero { padding: var(--s4); }
}
