/*
 * MULK_PHASE4C_PUBLIC_MAP_UX_20261001_1
 *
 * Public map presentation only.
 * No map data, geometry, pricing, publication or API logic.
 */

/*
 * Desktop project selection:
 * Google-Maps-style right information panel.
 */
@media (min-width:1024px) {

  html[data-mh-shell="public"]
  [data-testid="market-map"]
  > .mulk-public-selection-host {
    position:absolute !important;
    inset:0 !important;
    z-index:30 !important;
    pointer-events:none !important;
    overflow:visible;
  }

  html[data-mh-shell="public"]
  [data-testid="market-map"]
  .mw-public-panel {
    position:absolute !important;

    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:auto !important;

    display:flex !important;
    flex-direction:column !important;

    width:min(390px,38vw) !important;
    height:100% !important;
    max-height:100% !important;

    border-radius:
      20px 0 0 20px !important;

    border-top:
      1px solid rgba(255,255,255,.16);

    border-bottom:
      1px solid rgba(255,255,255,.12);

    border-left:
      1px solid var(--em-line,#dbe6e1);

    background:
      color-mix(
        in srgb,
        var(--em-surface,#fff) 94%,
        transparent
      ) !important;

    box-shadow:
      -18px 0 48px rgba(7,25,24,.18) !important;

    backdrop-filter:
      blur(22px) saturate(125%);

    -webkit-backdrop-filter:
      blur(22px) saturate(125%);

    overflow:hidden;
    pointer-events:auto !important;
  }

  html[data-mh-shell="public"]
  .mw-public-panel-header {
    position:relative;
    z-index:2;
    flex:0 0 auto;

    background:
      color-mix(
        in srgb,
        var(--em-surface,#fff) 96%,
        transparent
      ) !important;

    backdrop-filter:
      blur(18px);

    -webkit-backdrop-filter:
      blur(18px);
  }

  html[data-mh-shell="public"]
  .mw-public-panel-body {
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-bottom:24px;
  }

  /*
   * Desktop panel does not need mobile sheet controls.
   */
  html[data-mh-shell="public"]
  .mw-public-panel
  .mw-public-grip,

  html[data-mh-shell="public"]
  .mw-public-panel
  .mw-public-expand {
    display:none !important;
  }

  html[data-mh-shell="public"]
  .mw-public-cover {
    display:block;
    width:100%;
    height:auto;
    max-height:190px;

    margin:
      0 0 14px;

    object-fit:cover;

    border-radius:
      14px;
  }

  html[data-mh-shell="public"]
  .mw-public-price {
    margin:
      8px 0;

    padding:
      12px;

    border:
      1px solid var(--em-line,#dbe6e1) !important;

    border-radius:
      13px;

    background:
      color-mix(
        in srgb,
        var(--em-surface-soft,#edf4f1) 62%,
        transparent
      );
  }

  html[data-mh-shell="public"]
  .mw-public-price:last-child {
    border-bottom:
      1px solid var(--em-line,#dbe6e1) !important;
  }

  html[data-mh-shell="public"]
  .mw-public-unit-picker select {
    border-radius:
      12px;

    background:
      var(--em-surface,#fff);

    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.22);
  }
}

/*
 * Desktop project markers:
 * icon-first, project name appears on hover/focus.
 * Selected project remains expanded.
 */
@media
  (min-width:1024px)
  and (hover:hover)
  and (pointer:fine) {

  html[data-mh-shell="public"]
  .mw-project-label {
    box-sizing:border-box;

    width:auto !important;
    min-width:44px;
    max-width:44px !important;
    min-height:44px;

    padding:
      6px 8px !important;

    gap:
      0 !important;

    overflow:hidden;

    border-radius:
      13px !important;

    box-shadow:
      0 5px 16px rgba(8,31,29,.18);

    transition:
      max-width .18s ease,
      padding .18s ease,
      gap .18s ease,
      transform .15s ease,
      box-shadow .15s ease;
  }

  html[data-mh-shell="public"]
  .mw-project-label > img {
    width:28px !important;
    height:28px !important;

    flex:
      0 0 28px;

    border-radius:
      8px !important;
  }

  html[data-mh-shell="public"]
  .mw-project-label > span {
    display:block !important;

    max-width:0;

    opacity:0;

    overflow:hidden;

    white-space:nowrap;

    text-overflow:ellipsis;

    -webkit-line-clamp:
      unset !important;

    transform:
      translateX(4px);

    transition:
      max-width .18s ease,
      opacity .13s ease,
      transform .18s ease;
  }

  html[data-mh-shell="public"]
  .mw-project-label:hover,

  html[data-mh-shell="public"]
  .mw-project-label:focus-visible,

  html[data-mh-shell="public"]
  .mw-project-label[aria-pressed="true"] {
    max-width:
      264px !important;

    padding:
      6px 13px 6px 8px !important;

    gap:
      8px !important;

    transform:
      translateY(-1px);

    box-shadow:
      0 9px 24px rgba(8,31,29,.24);

    z-index:
      4;
  }

  html[data-mh-shell="public"]
  .mw-project-label:hover > span,

  html[data-mh-shell="public"]
  .mw-project-label:focus-visible > span,

  html[data-mh-shell="public"]
  .mw-project-label[aria-pressed="true"] > span {
    max-width:
      190px;

    opacity:
      1;

    transform:
      translateX(0);
  }
}

/*
 * Preserve the existing tablet/mobile bottom sheet behavior.
 */
@media (max-width:1023px) {

  html[data-mh-shell="public"]
  .mw-project-label {
    max-width:
      min(240px,72vw);
  }

  html[data-mh-shell="public"]
  .mw-project-label > span {
    opacity:
      1;
  }

  html[data-mh-shell="public"]
  .mw-public-cover {
    display:block;
    width:100%;
    max-height:170px;

    object-fit:cover;

    border-radius:
      13px;
  }
}

/*
 * Accessible reduced-motion behavior.
 */
@media (prefers-reduced-motion:reduce) {

  html[data-mh-shell="public"]
  .mw-project-label,

  html[data-mh-shell="public"]
  .mw-project-label > span {
    transition:
      none !important;
  }
}

/*
 * MULK_PHASE4C_B_SMART_SUMMARY_20261001_1
 * Project types, unit chips and latest price date.
 * Presentation only.
 */

.mw-phase4-section{
  margin:14px 0 4px;
}

.mw-phase4-section-title{
  margin:0 0 8px;
  font-size:12px;
  line-height:1.5;
  font-weight:750;
  color:var(--em-muted,#5b6872);
}

.mw-phase4-type-chips,
.mw-phase4-unit-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.mw-phase4-type-chip{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:5px 10px;
  border:1px solid var(--em-line,#dbe6e1);
  border-radius:999px;
  background:var(--em-surface-soft,#edf4f1);
  color:var(--em-text,#132c29);
  font-size:12px;
  font-weight:700;
}

.mw-phase4-unit-chip{
  appearance:none;
  min-height:38px;
  padding:7px 11px;
  border:1px solid var(--em-line,#dbe6e1);
  border-radius:11px;
  background:var(--em-surface,#fff);
  color:var(--em-text,#132c29);
  font:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

.mw-phase4-unit-chip:hover{
  border-color:color-mix(
    in srgb,
    var(--em-accent,#00b77a) 55%,
    var(--em-line,#dbe6e1)
  );
}

.mw-phase4-unit-chip[aria-pressed="true"]{
  border-color:var(--em-accent,#00b77a);
  background:color-mix(
    in srgb,
    var(--em-accent,#00b77a) 12%,
    var(--em-surface,#fff)
  );
}

.mw-phase4-unit-chip:focus-visible{
  outline:3px solid var(--em-accent,#00b77a);
  outline-offset:2px;
}

.mw-public-unit-picker.mw-phase4-enhanced-unit-picker select{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.mw-phase4-last-update{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:11px 0 5px;
  padding:8px 10px;
  border-radius:10px;
  background:var(--em-surface-soft,#edf4f1);
  color:var(--em-muted,#5b6872);
  font-size:11px;
}

.mw-phase4-last-update time{
  color:var(--em-text,#132c29);
  font-weight:750;
  font-variant-numeric:tabular-nums;
}

@media(max-width:1023px){

  .mw-phase4-type-chips,
  .mw-phase4-unit-chips{
    flex-wrap:nowrap;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    padding-bottom:3px;
  }

  .mw-phase4-type-chips::-webkit-scrollbar,
  .mw-phase4-unit-chips::-webkit-scrollbar{
    display:none;
  }

  .mw-phase4-type-chip,
  .mw-phase4-unit-chip{
    flex:0 0 auto;
  }
}

/*
 * MULK_PHASE4C_B1_UNIT_HEADING_FIX_20261001_1
 * Hide the legacy picker label after the enhanced unit chips are installed.
 * The native select remains in the DOM as the accessible functional control.
 */
.mw-public-unit-picker.mw-phase4-enhanced-unit-picker > span,
.mw-public-unit-picker.mw-phase4-enhanced-unit-picker > .mw-public-unit-picker-label{
  display:none!important;
}

.mw-public-unit-picker.mw-phase4-enhanced-unit-picker{
  margin:0!important;
  min-height:0!important;
  height:0!important;
}

/*
 * MULK_PHASE4C_C_PRICE_GATE_20261001_1
 *
 * Premium registration gate.
 * Presentation only.
 * Never contains, derives or exposes a real property price.
 */

.mw-price-gate{
  position:relative;
  overflow:hidden;

  margin:12px 0 4px;
  padding:15px;

  border:
    1px solid
    color-mix(
      in srgb,
      var(--em-accent,#00b77a) 24%,
      var(--em-line,#dbe6e1)
    );

  border-radius:16px;

  background:
    linear-gradient(
      145deg,
      color-mix(
        in srgb,
        var(--em-accent,#00b77a) 8%,
        var(--em-surface,#fff)
      ),
      var(--em-surface,#fff) 56%
    );

  box-shadow:
    0 10px 30px rgba(11,48,43,.08);
}

.mw-price-gate::after{
  content:"";

  position:absolute;
  width:150px;
  height:150px;
  inset-inline-end:-70px;
  top:-80px;

  border-radius:50%;

  background:
    color-mix(
      in srgb,
      var(--em-accent,#00b77a) 12%,
      transparent
    );

  pointer-events:none;
}

.mw-price-gate-head{
  position:relative;
  z-index:1;

  display:flex;
  align-items:flex-start;
  gap:11px;
}

.mw-price-gate-lock{
  display:grid;
  place-items:center;

  flex:0 0 42px;

  width:42px;
  height:42px;

  border-radius:13px;

  background:
    color-mix(
      in srgb,
      var(--em-accent,#00b77a) 14%,
      var(--em-surface,#fff)
    );

  color:var(--em-accent,#008b64);

  font-size:20px;
  line-height:1;

  box-shadow:
    inset 0 0 0 1px
    color-mix(
      in srgb,
      var(--em-accent,#00b77a) 20%,
      transparent
    );
}

.mw-price-gate-copy{
  min-width:0;
}

.mw-price-gate-title{
  margin:0;

  color:var(--em-text,#132c29);

  font-size:14px;
  line-height:1.55;
  font-weight:800;
}

.mw-price-gate-text{
  margin:4px 0 0;

  color:var(--em-muted,#63716e);

  font-size:11.5px;
  line-height:1.75;
}

.mw-price-gate-preview{
  position:relative;
  z-index:1;

  display:grid;
  gap:7px;

  margin-top:13px;
  padding:10px;

  border:
    1px solid
    color-mix(
      in srgb,
      var(--em-line,#dbe6e1) 75%,
      transparent
    );

  border-radius:12px;

  background:
    color-mix(
      in srgb,
      var(--em-surface-soft,#edf4f1) 58%,
      transparent
    );
}

.mw-price-gate-preview-row{
  display:grid;
  grid-template-columns:minmax(76px,auto) 1fr;
  align-items:center;
  gap:10px;

  min-height:22px;
}

.mw-price-gate-preview-label{
  color:var(--em-muted,#63716e);

  font-size:10.5px;
  font-weight:650;
}

.mw-price-gate-preview-bar{
  position:relative;
  overflow:hidden;

  height:10px;

  border-radius:999px;

  background:
    color-mix(
      in srgb,
      var(--em-line,#dbe6e1) 78%,
      transparent
    );
}

.mw-price-gate-preview-bar::after{
  content:"";

  position:absolute;
  inset:0;

  transform:translateX(-110%);

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.72),
      transparent
    );

  animation:
    mw-price-gate-shimmer 2.4s
    ease-in-out infinite;
}

.mw-price-gate-preview-row:nth-child(2)
.mw-price-gate-preview-bar{
  width:84%;
}

.mw-price-gate-preview-row:nth-child(3)
.mw-price-gate-preview-bar{
  width:66%;
}

@keyframes mw-price-gate-shimmer{
  to{
    transform:translateX(110%);
  }
}

.mw-price-gate-steps{
  position:relative;
  z-index:1;

  display:flex;
  flex-wrap:wrap;
  gap:6px;

  margin-top:11px;
}

.mw-price-gate-step{
  display:inline-flex;
  align-items:center;
  gap:5px;

  min-height:28px;
  padding:4px 8px;

  border-radius:999px;

  background:
    var(--em-surface-soft,#edf4f1);

  color:var(--em-muted,#63716e);

  font-size:10px;
  font-weight:700;
}

.mw-price-gate-step-number{
  display:grid;
  place-items:center;

  width:17px;
  height:17px;

  border-radius:50%;

  background:
    var(--em-surface,#fff);

  color:
    var(--em-accent,#008b64);

  font-size:9px;
  font-weight:850;
}

.mw-price-gate-actions{
  position:relative;
  z-index:1;

  display:grid;
  gap:7px;

  margin-top:12px;
}

.mw-price-gate-primary,
.mw-price-gate-secondary{
  display:flex;
  align-items:center;
  justify-content:center;

  min-height:42px;
  padding:8px 12px;

  border-radius:11px;

  text-decoration:none!important;

  font-size:12px;
  font-weight:800;

  transition:
    transform .15s ease,
    box-shadow .15s ease,
    background .15s ease;
}

.mw-price-gate-primary{
  border:1px solid
    var(--em-accent,#00b77a);

  background:
    var(--em-accent,#00b77a);

  color:#fff!important;

  box-shadow:
    0 7px 18px
    color-mix(
      in srgb,
      var(--em-accent,#00b77a) 22%,
      transparent
    );
}

.mw-price-gate-primary:hover{
  transform:translateY(-1px);
  box-shadow:
    0 9px 22px
    color-mix(
      in srgb,
      var(--em-accent,#00b77a) 30%,
      transparent
    );
}

.mw-price-gate-secondary{
  border:
    1px solid
    var(--em-line,#dbe6e1);

  background:
    var(--em-surface,#fff);

  color:
    var(--em-text,#132c29)!important;
}

.mw-price-gate-secondary:hover{
  background:
    var(--em-surface-soft,#edf4f1);
}

.mw-price-gate-note{
  position:relative;
  z-index:1;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;

  margin:9px 0 0;

  color:
    var(--em-muted,#63716e);

  font-size:9.5px;
  line-height:1.5;
  text-align:center;
}

.mw-price-gate-note-dot{
  width:7px;
  height:7px;

  border-radius:50%;

  background:#25d366;

  box-shadow:
    0 0 0 3px
    rgba(37,211,102,.11);
}

@media(max-width:1023px){

  .mw-price-gate{
    margin-top:10px;
    padding:13px;
    border-radius:14px;
  }

  .mw-price-gate-lock{
    width:38px;
    height:38px;
    flex-basis:38px;
  }

  .mw-price-gate-title{
    font-size:13px;
  }

  .mw-price-gate-preview{
    margin-top:10px;
  }

  .mw-price-gate-actions{
    grid-template-columns:1fr;
  }
}

@media(prefers-reduced-motion:reduce){

  .mw-price-gate-preview-bar::after{
    animation:none!important;
  }

  .mw-price-gate-primary,
  .mw-price-gate-secondary{
    transition:none!important;
  }
}

/*
 * MULK_PHASE4E_B_REGISTERED_PRICE_CARDS_20261002_1
 *
 * Registered-user price presentation only.
 * Does not calculate, convert, annualise or create prices.
 */

.mw-phase4e-price-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;

  margin:14px 0 8px;
}

.mw-phase4e-price-heading-copy{
  min-width:0;
}

.mw-phase4e-price-heading h3{
  margin:0;

  color:var(--em-text,#132c29);

  font-size:14px;
  line-height:1.45;
  font-weight:850;
}

.mw-phase4e-price-heading p{
  margin:2px 0 0;

  color:var(--em-muted,#63716e);

  font-size:10.5px;
  line-height:1.6;
}

.mw-phase4e-price-heading-badge{
  flex:0 0 auto;

  display:inline-flex;
  align-items:center;
  gap:5px;

  min-height:26px;
  padding:4px 8px;

  border-radius:999px;

  background:
    color-mix(
      in srgb,
      var(--em-accent,#00a77a) 10%,
      var(--em-surface,#fff)
    );

  color:var(--em-accent,#007f61);

  font-size:9.5px;
  font-weight:800;
}

.mw-phase4e-price-heading-badge::before{
  content:"";

  width:6px;
  height:6px;

  border-radius:50%;

  background:currentColor;
}

.mw-public-prices{
  display:grid;
  gap:10px;

  margin-top:0;
}

.mw-public-price.mw-phase4e-price-card{
  --mw-phase4e-tone:
    var(--em-accent,#00a77a);

  position:relative;

  order:1;

  margin:0;
  padding:12px;

  overflow:hidden;

  border:
    1px solid
    color-mix(
      in srgb,
      var(--mw-phase4e-tone) 19%,
      var(--em-line,#dbe6e1)
    );

  border-inline-start:
    3px solid
    var(--mw-phase4e-tone);

  border-radius:14px;

  background:
    linear-gradient(
      145deg,
      color-mix(
        in srgb,
        var(--mw-phase4e-tone) 5%,
        var(--em-surface,#fff)
      ),
      var(--em-surface,#fff) 45%
    );

  box-shadow:
    0 8px 22px rgba(17,52,48,.055);
}

.mw-public-price.mw-phase4e-price-card:first-child{
  padding-top:12px;
}

.mw-public-price.mw-phase4e-price-card:last-child{
  border-bottom:
    1px solid
    color-mix(
      in srgb,
      var(--mw-phase4e-tone) 19%,
      var(--em-line,#dbe6e1)
    );
}

.mw-public-price.mw-phase4e-price-sale{
  --mw-phase4e-tone:
    var(--em-accent,#00a77a);

  order:1;
}

.mw-public-price.mw-phase4e-price-rent{
  --mw-phase4e-tone:#3568d4;

  order:2;
}

.mw-public-price-title{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;

  margin-bottom:10px;

  font-size:11px;
}

.mw-public-price-title strong{
  display:inline-flex;
  align-items:center;
  gap:6px;

  min-height:27px;
  padding:4px 9px;

  border-radius:999px;

  background:
    color-mix(
      in srgb,
      var(--mw-phase4e-tone) 13%,
      var(--em-surface,#fff)
    );

  color:var(--mw-phase4e-tone);

  font-size:11px;
  font-weight:850;
}

.mw-public-price-title strong::before{
  content:"";

  width:6px;
  height:6px;

  border-radius:50%;

  background:currentColor;
}

.mw-public-price-title>bdi,
.mw-public-price-title>span{
  display:inline-flex;
  align-items:center;

  min-height:25px;
  padding:3px 7px;

  border-radius:7px;

  background:
    var(--em-surface-soft,#edf4f1);

  color:
    var(--em-muted,#596965);

  font-size:9.5px;
  line-height:1.2;
  font-weight:750;
}

.mw-public-price-values{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:7px;

  margin:0;
}

.mw-public-price-values>div{
  min-width:0;

  padding:9px;

  border:
    1px solid
    var(--em-line,#dbe6e1);

  border-radius:10px;

  background:
    color-mix(
      in srgb,
      var(--em-surface-soft,#edf4f1) 52%,
      transparent
    );
}

.mw-public-price-values>
.mw-phase4e-value-reference{
  grid-column:1 / -1;
  grid-row:1;

  padding:11px 12px;

  border-color:
    color-mix(
      in srgb,
      var(--mw-phase4e-tone) 25%,
      var(--em-line,#dbe6e1)
    );

  background:
    color-mix(
      in srgb,
      var(--mw-phase4e-tone) 7%,
      var(--em-surface,#fff)
    );
}

.mw-public-price-values>
.mw-phase4e-value-minimum{
  grid-column:1;
  grid-row:2;
}

.mw-public-price-values>
.mw-phase4e-value-maximum{
  grid-column:2;
  grid-row:2;
}

.mw-public-price-values dt{
  min-height:0;

  color:
    var(--em-muted,#63716e);

  font-size:9.5px;
  line-height:1.45;
  font-weight:650;
}

.mw-public-price-values dd{
  margin:3px 0 0;

  color:var(--em-text,#132c29);

  font-size:13.5px;
  line-height:1.35;
  font-weight:800;

  font-variant-numeric:
    tabular-nums;

  overflow-wrap:anywhere;
}

.mw-public-price-values>
.mw-phase4e-value-reference dd{
  margin-top:4px;

  color:
    var(--mw-phase4e-tone);

  font-size:20px;
  line-height:1.25;
  font-weight:900;
}

.mw-public-price-values>
.mw-phase4e-value-reference dt{
  color:
    color-mix(
      in srgb,
      var(--mw-phase4e-tone) 82%,
      var(--em-text,#132c29)
    );

  font-size:10px;
  font-weight:800;
}

.mw-public-price>
.mw-public-muted{
  margin:8px 0 0;

  color:
    var(--em-muted,#63716e);

  font-size:9.5px;
  line-height:1.5;
}

.mw-public-price-date{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;

  margin:7px 0 0;

  color:
    var(--em-muted,#63716e);

  font-size:9.5px;
  line-height:1.5;
}

.mw-public-price-date time{
  direction:ltr;

  font-variant-numeric:
    tabular-nums;

  font-weight:750;
}

.mw-phase4e-price-missing{
  order:3;

  display:flex;
  align-items:flex-start;
  gap:7px;

  margin:0;
  padding:8px 10px;

  border:
    1px dashed
    var(--em-line,#dbe6e1);

  border-radius:10px;

  background:
    color-mix(
      in srgb,
      var(--em-surface-soft,#edf4f1) 54%,
      transparent
    );

  color:
    var(--em-muted,#63716e);

  font-size:10px;
  line-height:1.55;
}

.mw-phase4e-price-missing::before{
  content:"—";

  flex:0 0 auto;

  color:
    var(--em-muted,#63716e);

  font-weight:850;
}

.mw-public-prices + .mw-phase4e-price-missing{
  margin-top:8px;
}

.mw-phase4e-price-missing +
.mw-public-muted,
.mw-public-prices +
.mw-public-muted{
  margin-top:9px;
}

.mw-public-panel-body>
.mw-public-muted:not(.mw-public-price .mw-public-muted){
  padding:8px 10px;

  border-radius:10px;

  background:
    var(--em-surface-soft,#edf4f1);

  font-size:9.5px;
  line-height:1.65;
}

@media(max-width:1023px){

  .mw-phase4e-price-heading{
    margin-top:12px;
  }

  .mw-public-price.mw-phase4e-price-card{
    padding:11px;
    border-radius:13px;
  }

  .mw-public-price-values>
  .mw-phase4e-value-reference dd{
    font-size:18px;
  }
}

@media(max-width:420px){

  .mw-phase4e-price-heading{
    align-items:flex-start;
  }

  .mw-phase4e-price-heading p{
    max-width:230px;
  }

  .mw-public-price-values{
    gap:6px;
  }

  .mw-public-price-values>div{
    padding:8px;
  }

  .mw-public-price-values dd{
    font-size:12px;
  }

  .mw-public-price-values>
  .mw-phase4e-value-reference dd{
    font-size:17px;
  }
}

/*
 * MULK_PHASE4F_B_MOBILE_IPAD_UX_20261002_1
 *
 * Public map mobile / tablet refinement.
 * Presentation only.
 */

@media(max-width:1023px){

  /*
   * Bottom sheet foundation.
   */

  .mw-public-panel{
    inset-inline:0!important;
    inset-block-start:auto!important;
    inset-block-end:0!important;

    width:100%!important;

    height:58%!important;

    max-height:
      calc(
        100%
        - 54px
        - env(safe-area-inset-top,0px)
      )!important;

    border-radius:
      20px 20px 0 0!important;

    box-shadow:
      0 -10px 32px rgba(13,40,36,.15)!important;

    overscroll-behavior:none;
  }

  .mw-public-panel[data-detent="peek"]{
    height:136px!important;
  }

  .mw-public-panel[data-detent="full"]{
    height:
      calc(
        100%
        - 54px
        - env(safe-area-inset-top,0px)
      )!important;

    max-height:
      calc(
        100%
        - 54px
        - env(safe-area-inset-top,0px)
      )!important;
  }

  /*
   * Header stays stable while body scrolls.
   */

  .mw-public-panel-header{
    flex:0 0 auto;

    padding-inline:
      max(
        13px,
        env(safe-area-inset-left,0px)
      )
      max(
        13px,
        env(safe-area-inset-right,0px)
      )!important;

    padding-bottom:8px!important;

    background:
      var(--mw-panel-bg,var(--em-surface,#fff));

    box-shadow:
      0 1px 0
      var(--em-line,#dbe6e1);
  }

  .mw-public-grip{
    min-height:28px!important;
  }

  .mw-public-grip>span{
    width:38px!important;
    height:4px!important;
  }

  .mw-public-heading{
    min-width:0;
  }

  .mw-public-heading h2{
    min-width:0;

    font-size:16px!important;
    line-height:1.35!important;

    overflow:hidden;
    text-overflow:ellipsis;

    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }

  .mw-public-close{
    width:44px!important;
    height:44px!important;
    min-width:44px;
  }

  /*
   * Scroll area.
   */

  .mw-public-panel-body{
    min-height:0!important;

    overflow-y:auto!important;
    overflow-x:hidden!important;

    overscroll-behavior-y:contain;

    -webkit-overflow-scrolling:touch;

    touch-action:pan-y;

    scroll-padding-bottom:
      calc(
        26px
        + env(safe-area-inset-bottom,0px)
      );

    padding:
      10px
      max(
        13px,
        env(safe-area-inset-right,0px)
      )
      calc(
        18px
        + env(safe-area-inset-bottom,0px)
      )
      max(
        13px,
        env(safe-area-inset-left,0px)
      )!important;
  }

  /*
   * Head actions.
   */

  .mw-public-head-actions{
    display:grid!important;
    grid-template-columns:
      minmax(0,1fr)
      auto;

    gap:7px!important;

    margin-top:6px!important;
  }

  .mw-public-head-actions>
  .mw-public-action{
    min-width:0;

    overflow:hidden;
  }

  .mw-public-head-actions>
  .mw-public-action span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .mw-public-expand{
    min-width:44px;
    min-height:44px!important;

    justify-content:center;
  }

  /*
   * Project type + unit chips.
   */

  .mw-phase4-type-chips,
  .mw-phase4-unit-chips{
    display:flex!important;

    flex-wrap:nowrap!important;

    gap:7px!important;

    overflow-x:auto!important;
    overflow-y:hidden!important;

    overscroll-behavior-inline:contain;

    -webkit-overflow-scrolling:touch;

    scroll-snap-type:x proximity;

    scrollbar-width:none;

    padding:
      2px 2px 5px!important;

    margin-inline:-2px!important;
  }

  .mw-phase4-type-chips::-webkit-scrollbar,
  .mw-phase4-unit-chips::-webkit-scrollbar{
    display:none;
  }

  .mw-phase4-type-chip,
  .mw-phase4-unit-chip{
    flex:0 0 auto!important;

    min-height:40px!important;

    padding:
      7px 12px!important;

    scroll-snap-align:start;

    touch-action:manipulation;
  }

  /*
   * Map project label.
   */

  .mw-project-label{
    max-width:
      min(
        230px,
        calc(100vw - 92px)
      )!important;

    min-height:42px!important;
  }

  /*
   * Registration gate.
   */

  .mw-price-gate{
    margin-top:10px!important;

    padding:12px!important;

    border-radius:14px!important;
  }

  .mw-price-gate-head{
    gap:9px!important;
  }

  .mw-price-gate-lock{
    width:38px!important;
    height:38px!important;
    flex-basis:38px!important;

    border-radius:11px!important;
  }

  .mw-price-gate-title{
    font-size:13px!important;
  }

  .mw-price-gate-text{
    font-size:11px!important;
    line-height:1.65!important;
  }

  .mw-price-gate-preview{
    margin-top:9px!important;
    padding:8px!important;
  }

  .mw-price-gate-steps{
    gap:5px!important;
    margin-top:9px!important;
  }

  .mw-price-gate-step{
    min-height:27px!important;
    padding:4px 7px!important;
  }

  .mw-price-gate-actions{
    margin-top:10px!important;
  }

  .mw-price-gate-primary,
  .mw-price-gate-secondary{
    min-height:46px!important;

    touch-action:manipulation;
  }

  /*
   * Registered price cards.
   */

  .mw-phase4e-price-heading{
    gap:8px!important;
  }

  .mw-phase4e-price-heading h3{
    font-size:13px!important;
  }

  .mw-phase4e-price-heading-badge{
    min-height:25px!important;

    padding:4px 7px!important;
  }

  .mw-public-price.mw-phase4e-price-card{
    padding:10px!important;

    border-radius:12px!important;
  }

  .mw-public-price-values{
    gap:6px!important;
  }

  .mw-public-price-values>div{
    padding:8px!important;
  }

  .mw-public-price-values>
  .mw-phase4e-value-reference{
    padding:10px!important;
  }

  .mw-public-price-values>
  .mw-phase4e-value-reference dd{
    font-size:18px!important;
  }

  /*
   * General touch targets.
   */

  .mw-public-panel :is(
    button,
    a,
    select
  ){
    touch-action:manipulation;
  }

  .mw-public-actions{
    gap:7px!important;
  }

  .mw-public-action{
    min-height:44px!important;
  }
}


/*
 * iPad / tablet portrait and landscape.
 */

@media
  (min-width:768px)
  and (max-width:1023px){

  .mw-public-panel{
    height:54%!important;
  }

  .mw-public-panel[data-detent="peek"]{
    height:138px!important;
  }

  .mw-public-panel[data-detent="full"]{
    height:
      calc(
        100%
        - 58px
        - env(safe-area-inset-top,0px)
      )!important;
  }

  .mw-public-panel-body{
    padding-inline:
      max(
        18px,
        env(safe-area-inset-left,0px)
      )
      max(
        18px,
        env(safe-area-inset-right,0px)
      )!important;
  }

  .mw-public-cover{
    max-height:150px;
    object-fit:cover;
  }

  .mw-price-gate-actions{
    grid-template-columns:
      minmax(0,1.3fr)
      minmax(0,1fr)!important;
  }
}


/*
 * Phones.
 */

@media(max-width:767px){

  .mw-public-panel{
    height:62%!important;
  }

  .mw-public-panel[data-detent="peek"]{
    height:132px!important;
  }

  .mw-public-panel[data-detent="full"]{
    height:
      calc(
        100%
        - 50px
        - env(safe-area-inset-top,0px)
      )!important;

    max-height:
      calc(
        100%
        - 50px
        - env(safe-area-inset-top,0px)
      )!important;
  }

  .mw-public-brand{
    width:30px!important;
    height:30px!important;
  }

  .mw-public-description{
    font-size:12px!important;
    line-height:1.65!important;
  }

  .mw-public-boundary{
    font-size:11px!important;
  }

  .mw-phase4-project-types,
  .mw-phase4-unit-types{
    margin-top:9px!important;
  }
}


/*
 * Compact phones.
 */

@media(max-width:420px){

  .mw-public-panel{
    height:64%!important;
  }

  .mw-public-panel[data-detent="peek"]{
    height:126px!important;
  }

  .mw-public-heading h2{
    font-size:15px!important;
  }

  .mw-public-head-actions{
    grid-template-columns:
      minmax(0,1fr)
      44px!important;
  }

  .mw-public-expand{
    width:44px!important;
    padding-inline:0!important;

    overflow:hidden;

    font-size:0!important;
  }

  .mw-public-expand svg{
    width:18px!important;
    height:18px!important;
  }

  .mw-price-gate-preview-row{
    grid-template-columns:
      72px
      minmax(0,1fr)!important;

    gap:7px!important;
  }

  .mw-price-gate-preview-label{
    font-size:9.5px!important;
  }

  .mw-phase4e-price-heading{
    align-items:flex-start!important;
  }

  .mw-phase4e-price-heading-badge{
    font-size:9px!important;
  }

  .mw-public-price-values dd{
    font-size:12px!important;
  }

  .mw-public-price-values>
  .mw-phase4e-value-reference dd{
    font-size:17px!important;
  }
}


/*
 * Short landscape screens.
 */

@media
  (max-width:1023px)
  and (max-height:560px){

  .mw-public-panel{
    height:68%!important;
  }

  .mw-public-panel[data-detent="peek"]{
    height:118px!important;
  }

  .mw-public-panel[data-detent="full"]{
    height:
      calc(
        100%
        - 42px
        - env(safe-area-inset-top,0px)
      )!important;

    max-height:
      calc(
        100%
        - 42px
        - env(safe-area-inset-top,0px)
      )!important;
  }

  .mw-public-panel-header{
    padding-bottom:5px!important;
  }

  .mw-public-grip{
    min-height:22px!important;
    height:22px!important;
  }

  .mw-public-cover{
    height:90px!important;
  }
}


@media(prefers-reduced-motion:reduce){

  .mw-public-panel,
  .mw-phase4-type-chips,
  .mw-phase4-unit-chips{
    scroll-behavior:auto!important;
  }
}
