/* HOUNGUES public-site multilingual selector, P088.
   The badge never covers the site's bottom enquiry actions. */
#hng-language { position: fixed; top: 11px; right: max(16px, env(safe-area-inset-right)); z-index: 9200; font: 500 13px/1.35 Arial, sans-serif; color: #fff; }
#hng-language, #hng-language * { box-sizing: border-box; }
#hng-language .hng-language-toggle { cursor:pointer; min-height: 37px; display: inline-flex; align-items:center; gap: 7px; padding: 6px 11px; border-radius: 5px; border: 1px solid #bda068; background: #161616; color: #fff; font: inherit; box-shadow: 0 2px 9px rgba(0,0,0,.16); }
#hng-language .hng-language-toggle:focus-visible, #hng-language .hng-language-option:focus-visible {outline: 2px solid #bda068; outline-offset: 2px;}
#hng-language .hng-language-toggle:hover { background:#2e2921; }
#hng-language .hng-language-flag { font-size: 17px; line-height: 1; font-family: 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif; }
#hng-language .hng-language-menu { position: absolute; top:calc(100% + 6px); right:0; width: min(270px, calc(100vw - 24px)); max-height: min(540px, calc(100dvh - 65px)); overflow:auto; margin:0; border-radius: 9px; border:1px solid #c6ad7c; padding: 8px; list-style: none; color:#141414; background:#fffdf8; box-shadow: 0 11px 40px rgba(0,0,0,.27); }
#hng-language .hng-language-menu[hidden] { display:none!important; }
#hng-language .hng-language-menu-title { padding: 8px 10px 10px; font-weight:700; color:#333; font-size:13px; border-bottom: 1px solid #e7e1d6; margin-bottom:3px; }
#hng-language .hng-language-option { display: flex; align-items:center; width:100%; gap:11px; padding:10px 9px; border:0; border-bottom:1px solid #ece9e2; background:none; color:#171717; text-align:start; font: 500 13px Arial,sans-serif; cursor:pointer; border-radius:4px; }
#hng-language .hng-language-option .hng-language-label { flex:1; }
#hng-language .hng-language-option .hng-language-ready { font-size:10px; color:#756c5c; }
#hng-language .hng-language-option[aria-current="true"] { background:#f1e4ca; color:#241a06; font-weight:700; }
#hng-language .hng-language-option:disabled { opacity:.56; cursor:not-allowed; }
#hng-language .hng-language-option:not(:disabled):hover { background:#f2eee6; }
#hng-language .hng-language-note { padding: 11px 9px 5px; font-size:11px; color:#625f57; line-height:1.4; }
#hng-language .hng-language-status { position:absolute; top:calc(100% + 6px); right:0; padding:9px 12px; width: min(290px, calc(100vw - 24px)); background:#fffaf1; color:#282019; border:1px solid #bda068; border-radius:5px; box-shadow: 0 4px 16px rgba(0,0,0,.15); }
#hng-language .hng-language-status[hidden] { display:none!important; }
@media (max-width: 740px) {
  #hng-language { top: max(9px, env(safe-area-inset-top)); right: max(61px, env(safe-area-inset-right)); font-size:12px; }
  #hng-language .hng-language-toggle { min-height:35px; padding:5px 8px; gap:5px; }
  #hng-language .hng-language-menu { right:-49px; }
}
@media (prefers-reduced-motion: reduce) { #hng-language * {scroll-behavior:auto!important;} }
/* The private-approved modal should retain focus and remain above the language badge. */
body:has(dialog[open]) #hng-language, body:has([role="dialog"][aria-modal="true"]:not(dialog):not([hidden])) #hng-language { visibility:hidden; }

/* P093 – visible country flags without OS emoji support. These are public, local SVG assets. */
#hng-language .hng-language-flag {
  width:22px; height:15px; display:inline-block; flex:none;
  font-size:0; line-height:0; background-position:center;
  background-repeat:no-repeat; background-size:cover;
  border-radius:2px; border:1px solid rgba(60,54,48,.13);
}
#hng-language .hng-language-toggle[data-language="en"] .hng-language-flag, #hng-language .hng-language-option[data-language="en"] .hng-language-flag { background-image:url("/assets/i18n-p091/flags/en.svg"); }
#hng-language .hng-language-toggle[data-language="fr"] .hng-language-flag, #hng-language .hng-language-option[data-language="fr"] .hng-language-flag { background-image:url("/assets/i18n-p091/flags/fr.svg"); }
#hng-language .hng-language-toggle[data-language="de"] .hng-language-flag, #hng-language .hng-language-option[data-language="de"] .hng-language-flag { background-image:url("/assets/i18n-p091/flags/de.svg"); }
#hng-language .hng-language-toggle[data-language="ar"] .hng-language-flag, #hng-language .hng-language-option[data-language="ar"] .hng-language-flag { background-image:url("/assets/i18n-p091/flags/ar.svg"); }
#hng-language .hng-language-toggle[data-language="ru"] .hng-language-flag, #hng-language .hng-language-option[data-language="ru"] .hng-language-flag { background-image:url("/assets/i18n-p091/flags/ru.svg"); }
#hng-language .hng-language-toggle[data-language="zh"] .hng-language-flag, #hng-language .hng-language-option[data-language="zh"] .hng-language-flag { background-image:url("/assets/i18n-p091/flags/zh.svg"); }
#hng-language .hng-language-toggle[data-language="hi"] .hng-language-flag, #hng-language .hng-language-option[data-language="hi"] .hng-language-flag { background-image:url("/assets/i18n-p091/flags/hi.svg"); }
#hng-language .hng-language-toggle[data-language="ur"] .hng-language-flag, #hng-language .hng-language-option[data-language="ur"] .hng-language-flag { background-image:url("/assets/i18n-p091/flags/ur.svg"); }
#hng-language .hng-language-toggle[data-language="es"] .hng-language-flag, #hng-language .hng-language-option[data-language="es"] .hng-language-flag { background-image:url("/assets/i18n-p091/flags/es.svg"); }
#hng-language .hng-language-toggle[data-language="tr"] .hng-language-flag, #hng-language .hng-language-option[data-language="tr"] .hng-language-flag { background-image:url("/assets/i18n-p091/flags/tr.svg"); }
#hng-language .hng-language-toggle[data-language="it"] .hng-language-flag, #hng-language .hng-language-option[data-language="it"] .hng-language-flag { background-image:url("/assets/i18n-p091/flags/it.svg"); }
#hng-language .hng-language-toggle[data-language="pt"] .hng-language-flag, #hng-language .hng-language-option[data-language="pt"] .hng-language-flag { background-image:url("/assets/i18n-p091/flags/pt.svg"); }

/* P093 – handheld selector anchored ABOVE the right enquiry CTA.
   The menu MUST open upwards; it scrolls instead of overflowing a short screen. */
@media (max-width:767px) {
  #hng-language {
    top:auto;
    bottom:calc(76px + env(safe-area-inset-bottom,0px));
    right:max(10px,env(safe-area-inset-right,10px));
    left:auto;
    z-index:4200;
    font-size:12px;
  }
  #hng-language .hng-language-toggle {
    min-height:39px;
    gap:7px;
    padding:7px 11px;
    border-radius:6px;
  }
  #hng-language .hng-language-menu {
    top:auto;
    bottom:calc(100% + 9px);
    left:auto;
    right:0;
    width:min(268px,calc(100vw - 20px));
    max-height:min(480px,calc(100dvh - 162px - env(safe-area-inset-bottom,0px)));
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    box-shadow:0 12px 38px rgba(0,0,0,.3);
  }
  #hng-language .hng-language-status {
    top:auto;
    bottom:calc(100% + 9px);
    left:auto;
    right:0;
  }
  /* Everly's right contact button has a 9px safe-area gutter. */
  body:has(.hng-everly-p071-actions) #hng-language {
    right:max(9px,env(safe-area-inset-right,9px));
  }
  /* Other published projects may use a distinct bottom-right contact button. */
  body:has(.hng-mp-floating-cta) #hng-language {
    right:max(20px,env(safe-area-inset-right,20px));
    bottom:calc(85px + env(safe-area-inset-bottom,0px));
  }
}
@media (max-width:767px) and (max-height:410px) {
  #hng-language .hng-language-menu {
    max-height:max(90px,calc(100dvh - 148px - env(safe-area-inset-bottom,0px)));
  }
}

/* P094 - identical lower-right/upward language-selector experience on desktop.
   Preserve the existing P093 mobile rules and keep the contact CTA unobstructed.
   The 12-entry panel expands UP and scrolls within the viewport. */
@media (min-width:768px) {
  #hng-language {
    top:auto;
    bottom:calc(82px + env(safe-area-inset-bottom,0px));
    right:max(16px,env(safe-area-inset-right,16px));
    left:auto;
    z-index:4200;
  }
  #hng-language .hng-language-menu {
    top:auto;
    bottom:calc(100% + 9px);
    left:auto;
    right:0;
    width:min(270px,calc(100vw - 24px));
    max-height:min(540px,max(100px,calc(100dvh - 174px - env(safe-area-inset-bottom,0px))));
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  #hng-language .hng-language-status {
    top:auto;
    bottom:calc(100% + 9px);
    left:auto;
    right:0;
  }
  /* Align to Everly's fixed right action, rather than the navigation header. */
  body:has(.hng-everly-p071-actions) #hng-language {
    right:max(16px,env(safe-area-inset-right,16px));
    bottom:calc(82px + env(safe-area-inset-bottom,0px));
  }
  /* Align to the independently generated One River Point/future project CTA. */
  body:has(.hng-mp-floating-cta) #hng-language {
    right:max(20px,env(safe-area-inset-right,20px));
    bottom:calc(86px + env(safe-area-inset-bottom,0px));
  }
}

/* P099: keep the complete French Development label legible in four-column docks. */
.bottom-nav a[data-hng-development]{white-space:normal;font-family:Arial,Helvetica,sans-serif;font-size:clamp(9px,2.5vw,11px);line-height:1.35;text-transform:uppercase;text-align:center;letter-spacing:0}
.bottom-nav a[data-hng-development]>span{max-width:100%;white-space:normal}
