/* V1.21.107 — compact mobile header and comfortable booking form widths. */
.ui-public .brand-link {
  display:inline-flex;
  align-items:baseline;
  gap:.32em;
}
.ui-public .brand-wordmark-main { color:#0e2958; }
.ui-public .brand-wordmark-accent { color:#c92b34; }

@media (max-width:760px) {
  .ui-public .app-topbar {
    padding-top:4px;
    padding-bottom:4px;
  }
  .ui-public .app-topbar > .wrap { position:relative; }
  .ui-public .compact-brand {
    min-height:50px;
    gap:6px;
  }
  .ui-public .brand-link {
    max-width:none;
    margin-inline-end:auto;
    gap:.28em;
    font-size:13px;
    letter-spacing:.01em;
    line-height:1;
  }

  /* Keep the native select accessible, with a clear compact visual label. */
  .ui-public .compact-brand > .mlp-language-bar {
    position:relative;
    display:block;
    width:68px;
    height:42px;
    border:1px solid #c6d2df;
    border-radius:11px;
    background:#fff;
    box-shadow:0 1px 2px rgba(14,41,88,.03);
  }
  .ui-public .compact-brand > .mlp-language-bar::before {
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#15395d;
    content:'🌐 EN';
    font-size:13px;
    font-weight:850;
    letter-spacing:.02em;
    line-height:1;
    pointer-events:none;
    transform:none;
  }
  .ui-public .compact-brand > .mlp-language-bar:has(option[value="es"]:checked)::before { content:'🌐 ES'; }
  .ui-public .compact-brand > .mlp-language-bar:has(option[value="fr"]:checked)::before { content:'🌐 FR'; }
  .ui-public .compact-brand > .mlp-language-bar:has(option[value="de"]:checked)::before { content:'🌐 DE'; }
  .ui-public .compact-brand > .mlp-language-bar:has(option[value="it"]:checked)::before { content:'🌐 IT'; }
  .ui-public .compact-brand > .mlp-language-bar:has(option[value="ar"]:checked)::before { content:'🌐 AR'; }
  html[dir=rtl] .ui-public .compact-brand > .mlp-language-bar::before { transform:none; }
  .ui-public .compact-brand > .mlp-language-bar select {
    position:absolute;
    inset:0;
    width:100%;
    max-width:none;
    min-height:40px;
    padding:0;
    border:0;
    border-radius:inherit;
    opacity:0;
    cursor:pointer;
  }
  .ui-public .compact-brand > .mlp-language-bar button { display:none; }

  .ui-public .compact-menu summary {
    min-width:72px;
    min-height:42px;
    padding:8px 10px;
    gap:6px;
    border-color:#c6d2df;
    font-size:14px;
  }
  .ui-public .compact-menu summary::before {
    content:'☰';
    color:#355574;
    font-size:15px;
    line-height:1;
  }
  .ui-public .compact-menu summary::marker,
  .ui-public .compact-menu summary::-webkit-details-marker {
    display:none;
    content:'';
  }
  .ui-public .compact-menu .mini-nav { top:58px; }

  /* On inner mobile views, Back replaces the logo instead of creating a second row. */
  .ui-public.app-mobile:not([data-mobile-view="home"]) .brand-link { visibility:hidden; }
  .ui-public.app-mobile .app-back:not([hidden]) {
    position:absolute;
    z-index:35;
    inset-inline-start:14px;
    top:4px;
    min-height:42px;
    padding:0 10px;
    border:1px solid #c6d2df;
    border-radius:11px;
    background:#fff;
    font-size:14px;
    line-height:1;
  }

  .ui-public.app-mobile .public-quote-section { padding:10px 0 18px; }
  .ui-public.app-mobile .public-quote-section > .wrap { padding-inline:10px; }
  .ui-public.app-mobile .public-quote-shell {
    padding:14px;
    border-radius:18px;
  }
  .ui-public.app-mobile .public-quote-grid { grid-template-columns:minmax(0,1fr); }
  .ui-public.app-mobile .public-quote-field,
  .ui-public.app-mobile .place-search-wrap,
  .ui-public.app-mobile .compact-extras { grid-column:1/-1; }
  .ui-public.app-mobile .public-quote-field:has(#publicQuoteWhen) { grid-column:1/-1; }
  .ui-public.app-mobile .public-quote-field :is(input,select) { width:100%; }
}

@media (max-width:370px) {
  .ui-public .brand-link { font-size:11.5px; }
  .ui-public .compact-brand > .mlp-language-bar { width:62px; }
  .ui-public .compact-menu summary { min-width:66px; padding-inline:8px; }
}
