/* One definition per market component. Native dialog supplies background isolation. */
.market-dialog {
  color:var(--ink); background:var(--bg); border:1px solid var(--line-strong);
  border-radius:var(--r-l); padding:0; width:min(1040px, calc(100% - 48px));
  max-width:none; max-height:calc(100dvh - 48px); margin:auto;
  box-shadow:0 16px 48px rgba(51,51,51,.24); overflow:hidden;
  font:inherit;
}
.market-dialog[open] { display:flex; flex-direction:column; }
.market-dialog::backdrop { background:rgba(51,51,51,.64); backdrop-filter:blur(3px); }
.market-dialog [hidden] { display:none !important; }
.market-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:24px 28px 16px; flex-shrink:0; }
.market-header h2 { font-size:clamp(1.25rem, 1rem + 1vw, 1.75rem); margin:0 0 8px; color:var(--blue-900); }
.market-header p { margin:0; color:var(--muted-dark); font-size:1rem; line-height:1.5; }
.market-close { background:none; border:1px solid transparent; color:var(--ink); border-radius:var(--r-s); min-width:44px; min-height:44px; font-size:28px; line-height:1; cursor:pointer; flex-shrink:0; }
.market-close:hover { background:var(--surface-hover); border-color:var(--line); }
.market-steps { display:flex; gap:28px; list-style:none; padding:0 28px 16px; margin:0; border-bottom:1px solid var(--line); flex-shrink:0; }
.market-steps li { display:flex; align-items:center; gap:8px; font-size:1rem; color:var(--muted-dark); }
.market-steps li > span { width:28px; height:28px; display:grid; place-items:center; border:1px solid var(--line-strong); border-radius:50%; font-size:1rem; line-height:1; }
.market-steps [aria-current] { color:var(--blue-900); font-weight:700; }
.market-steps [aria-current] > span { background:var(--blue-800); border-color:var(--blue-800); color:#fff; }
.market-content { padding:20px 28px; overflow:auto; min-height:0; overscroll-behavior:contain; scrollbar-gutter:stable; }
.market-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.market-card { display:grid; grid-template-columns:minmax(0,1fr) 24px; grid-template-rows:auto 1fr; padding:0; min-width:0; text-align:start; font:inherit; color:var(--blue-900); background:var(--bg); border:1px solid var(--line-strong); border-radius:var(--r-m); overflow:hidden; cursor:pointer; transition:border-color var(--t-ui), box-shadow var(--t-ui); }
.market-card:first-child { grid-column:span 2; }
.market-card img { grid-column:1 / -1; width:100%; height:124px; object-fit:contain; background:var(--surface-hover); border-bottom:1px solid var(--line); }
.market-card-name { font-family:var(--font-heading); font-size:1rem; line-height:1.4; padding:12px 8px 16px 16px; align-self:center; }
.market-card > .market-arrow { align-self:center; margin-inline-end:12px; }
.market-card:hover { border-color:var(--turquoise-800); box-shadow:var(--elev-1); }
.market-card:hover .market-card-name { text-decoration:underline; text-underline-offset:4px; }
.market-arrow { display:inline-block; }
[dir="rtl"] .market-arrow { transform:scaleX(-1); }
[dir="rtl"] .market-card-name { padding-inline:16px 8px; }
.market-content h3 { margin:0 0 16px; font-size:1.25rem; }
.market-search-label { display:block; margin-bottom:4px; }
.market-dialog input, .market-dialog select { font:inherit; font-size:1rem; color:var(--ink); background:var(--bg); border:1px solid var(--muted); border-radius:var(--r-s); min-height:48px; padding:8px 12px; width:100%; max-width:100%; }
.market-countries { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; margin-top:16px; }
.market-country { display:grid; grid-template-columns:minmax(0,1fr) 24px; text-align:start; gap:0 8px; background:var(--bg); color:var(--blue-900); border:0; border-bottom:1px solid var(--line); font:inherit; padding:12px 8px; cursor:pointer; }
.market-country > span:first-child { font-weight:700; }
.market-country-local { grid-column:1; color:var(--muted-dark); font-size:1rem; line-height:1.4; }
.market-country .market-arrow { grid-column:2; grid-row:1 / 3; align-self:center; }
.market-country:hover { background:var(--blue-50); }
.market-empty { margin:24px 0; }
.market-selection { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:start; gap:32px; }
.market-selection-map { width:100%; height:auto; border:1px solid var(--line); border-radius:var(--r-m); }
.market-selection-fields label { display:block; margin:16px 0 4px; }
.market-continue { margin-top:24px; gap:12px; width:100%; }
.market-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 28px; border-top:1px solid var(--line); flex-shrink:0; }
.market-back, .market-stay { font:inherit; font-size:1rem; padding:8px 0; min-height:44px; color:var(--blue-800); background:none; border:0; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.market-stay { margin-inline-start:auto; }
.market-back { display:flex; align-items:center; gap:8px; }
.video-container { position:relative; }
.video-toggle { position:absolute; inset-inline-end:calc(var(--diagonal-cut,12%) + 12px); bottom:12px; padding:8px 12px; min-height:44px; background:#fff; color:var(--turquoise-800); border:1px solid var(--line-strong); border-radius:var(--r-s); font:inherit; font-size:1rem; cursor:pointer; }
@media (max-width:768px) {
  .market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .market-card:first-child { grid-column:auto; }
  .market-card:last-child { grid-column:1 / -1; }
  .market-card img { height:96px; }
  .market-header { padding:20px 20px 12px; }
  .market-steps { padding:0 20px 12px; gap:16px; }
  .market-content { padding:16px 20px; }
  .market-bottom { padding:8px 20px; }
  .market-selection { grid-template-columns:1fr; gap:20px; }
  .market-selection-map { max-height:144px; object-fit:contain; background:var(--blue-50); }
}
@media (max-width:480px) {
  .market-dialog { width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:var(--r-m); }
  .market-header { padding:16px 12px 12px; gap:4px; }
  .market-header h2 { font-size:1.25rem; }
  .market-steps { padding:0 12px 12px; gap:12px; justify-content:space-between; }
  .market-steps li { flex-direction:column; gap:4px; font-size:1rem; line-height:1.2; }
  .market-content { padding:12px; scrollbar-gutter:auto; }
  .market-card-name { padding:8px 8px 12px; font-size:1rem; }
  .market-card { grid-template-columns:1fr; }
  .market-card > .market-arrow { display:none; }
  .market-countries { grid-template-columns:1fr; }
  .market-bottom { padding:8px 12px; }
  .market-bottom button { font-size:1rem; }
}
