/* v1.3.3 UI refinement — compact account menu, local flag controls and Canada-wide jurisdiction tiles. */
@layer dac-system {
  /* Give the navigation its own wider working area without changing public page copy width. */
  .site-header .nav-row,
  .topbar .topbar-inner{width:min(calc(100% - 40px),1480px)}
  .site-header .nav-row{gap:16px}
  .public-nav{justify-content:flex-end}
  .public-nav__primary{flex:0 1 auto}
  .public-nav__tools{gap:7px;padding-inline-start:9px}

  /* Shared resilient flag media. The text code remains underneath as the
     fallback; common.js hides the failed picture if an asset cannot load. */
  .flag-media{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;overflow:hidden;border:1px solid #d8e0ea;border-radius:6px;background:#f5f7fa;color:var(--navy);font-size:.58rem;font-weight:950;line-height:1;letter-spacing:.03em;isolation:isolate}
  .flag-media__fallback{position:relative;z-index:0;display:grid;place-items:center;width:100%;height:100%;padding:2px}
  .flag-media picture{position:absolute;inset:0;z-index:1;display:block;background:#fff}
  .flag-media img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
  .flag-media.is-fallback picture{display:none}

  /* Language control: replaces the unreliable emoji/native-select display
     with locally hosted visual flags and an explicit text fallback. */
  .language-control{position:relative;display:inline-block;min-width:0}
  .language-control>summary{list-style:none}
  .language-control>summary::-webkit-details-marker{display:none}
  .language-control__trigger{display:flex;min-height:40px;align-items:center;gap:7px;padding:6px 9px;border:1px solid #d7e0eb;border-radius:10px;background:#fff;color:var(--navy);font:inherit;cursor:pointer;box-shadow:0 1px 1px rgba(16,24,40,.03);transition:border-color .15s,box-shadow .15s,background .15s}
  .language-control__trigger:hover{background:#f8fafc;border-color:#c4d0df}
  .language-control__trigger:focus-visible{outline:0;border-color:#7795df;box-shadow:var(--focus)}
  .language-control[open]>.language-control__trigger{border-color:#aebdd0;background:#f8fafc}
  .language-control__flag{width:29px;height:20px;border-radius:5px}
  .language-control__current{display:grid;min-width:0;gap:1px;text-align:start;line-height:1.05}
  .language-control__current strong{color:var(--navy);font-size:.72rem;font-weight:950;white-space:nowrap}
  .language-control__current small{color:#75849a;font-size:.58rem;font-weight:800;letter-spacing:.025em;white-space:nowrap}
  .language-control__chevron,.account-menu__chevron{width:7px;height:7px;margin-inline-start:2px;border-inline-end:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg) translateY(-2px);transform-origin:center;transition:transform .15s}
  .language-control[open] .language-control__chevron,.account-menu[open] .account-menu__chevron{transform:rotate(225deg) translate(-1px,-1px)}
  .language-control__menu{position:absolute;z-index:125;inset-block-start:calc(100% + 9px);inset-inline-end:0;display:grid;width:250px;padding:7px;border:1px solid #d8e0ea;border-radius:13px;background:#fff;box-shadow:0 18px 46px rgba(7,26,59,.17)}
  .language-option{display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;min-height:46px;padding:7px 8px;border:0;border-radius:9px;background:transparent;color:var(--navy);font:inherit;text-align:start;cursor:pointer}
  .language-option:hover,.language-option:focus-visible{outline:0;background:#f3f6fa}
  .language-option.is-current{background:#eef4ff}
  .language-option__flag{width:32px;height:22px}
  .language-option__text{display:grid;gap:2px;min-width:0}
  .language-option__text strong{overflow:hidden;font-size:.74rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
  .language-option__text small{color:#78879a;font-size:.58rem;font-weight:800;letter-spacing:.035em}
  .language-option__check{color:#157347;font-size:.8rem;font-weight:950;text-align:center}
  .language-control__provider{justify-self:start;margin:6px 8px 5px}
  .language-control--compact .language-control__trigger{min-width:67px;padding:6px 8px}
  .language-control--compact .language-control__current strong{font-size:.7rem;letter-spacing:.035em}
  .language-control--compact .language-control__menu{width:240px}
  .language-control--language-page .language-control__trigger{min-width:190px;min-height:46px;padding:8px 11px}
  .language-control--language-page .language-control__flag{width:35px;height:24px}
  .language-control--language-page .language-control__menu{inset-inline-start:0;inset-inline-end:auto;width:270px}
  .language-control--dashboard .language-control__trigger{min-height:38px}

  /* Signed-in public header: one account disclosure replaces the competing
     Dashboard + Sign Out buttons while preserving both actions. */
  .account-menu{position:relative;display:inline-block;flex:0 0 auto}
  .account-menu>summary{list-style:none}
  .account-menu>summary::-webkit-details-marker{display:none}
  .account-menu__trigger{display:flex;min-height:40px;align-items:center;gap:7px;padding:8px 11px;border:1px solid #cbd7e5;border-radius:10px;background:#fff;color:var(--navy);font-size:.76rem;font-weight:900;white-space:nowrap;cursor:pointer;box-shadow:0 1px 1px rgba(16,24,40,.03);transition:border-color .15s,background .15s,box-shadow .15s}
  .account-menu__trigger:hover{background:#f6f8fb;border-color:#b8c7d8}
  .account-menu__trigger:focus-visible{outline:0;border-color:#7795df;box-shadow:var(--focus)}
  .account-menu[open]>.account-menu__trigger{background:#f4f7fa;border-color:#aebdd0}
  .account-menu__panel{position:absolute;z-index:126;inset-block-start:calc(100% + 9px);inset-inline-end:0;display:grid;width:240px;padding:7px;border:1px solid #d8e0ea;border-radius:13px;background:#fff;box-shadow:0 18px 46px rgba(7,26,59,.17)}
  .account-menu__panel a,.account-menu__panel button{display:flex;min-height:43px;align-items:center;gap:9px;width:100%;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:#273a56;font:inherit;font-size:.73rem;font-weight:850;text-align:start;text-decoration:none;cursor:pointer}
  .account-menu__panel a:hover,.account-menu__panel button:hover,.account-menu__panel a:focus-visible,.account-menu__panel button:focus-visible{outline:0;background:#f3f6fa;color:var(--navy)}
  .account-menu__panel button[data-logout]{margin-top:4px;border-top:1px solid #e5eaf0;border-radius:0 0 9px 9px;color:#a31c29}
  .account-menu__panel .public-nav__icon{width:16px;height:16px}

  /* Canada-wide tiles: real local flag media, readable labels, and compact
     responsive geometry. */
  .jurisdiction-grid{display:grid;gap:10px;min-width:0}
  .jurisdiction-grid--compact{grid-template-columns:repeat(7,minmax(0,1fr))}
  .jurisdiction-grid--full{grid-template-columns:repeat(4,minmax(0,1fr))}
  .jurisdiction-tile{display:flex;min-width:0;min-height:84px;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:9px 7px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);text-align:center;box-shadow:0 1px 1px rgba(16,24,40,.02)}
  .jurisdiction-tile__flag{width:52px;height:34px;border-radius:5px}
  .jurisdiction-tile__label{display:block;max-width:100%;color:var(--navy);font-size:.7rem;font-weight:900;line-height:1.18;overflow-wrap:anywhere}
  .jurisdiction-grid--full .jurisdiction-tile{min-height:104px;padding:12px 9px}
  .jurisdiction-grid--full .jurisdiction-tile__flag{width:62px;height:40px}
  .jurisdiction-grid--full .jurisdiction-tile__label{font-size:.72rem}

  /* Supported-language cards on the public language page. */
  .language-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
  .language-choice-card{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px;border:1px solid #e0e6ee;border-radius:10px;background:#f9fbfd}
  .language-choice-card__flag{width:34px;height:23px}
  .language-choice-card>span:last-child{display:grid;gap:2px;min-width:0}
  .language-choice-card strong{overflow:hidden;color:var(--navy);font-size:.7rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
  .language-choice-card small{color:#7b899b;font-size:.56rem;font-weight:800;letter-spacing:.035em}

  html[dir="rtl"] .language-control__menu,
  html[dir="rtl"] .account-menu__panel{inset-inline-end:0;inset-inline-start:auto}
  html[dir="rtl"] .language-control--language-page .language-control__menu{inset-inline-start:0;inset-inline-end:auto}

  @media(max-width:1280px){
    .site-header .nav-row,.topbar .topbar-inner{width:min(calc(100% - 28px),1480px)}
    .nav-brand{min-width:218px}
    .public-nav__primary>a{gap:5px;padding-inline:6px;font-size:.73rem}
    .public-nav__tools{gap:5px;padding-inline-start:6px}
    .account-menu__trigger{padding-inline:9px;font-size:.73rem}
    .public-nav__tools>.btn{padding-inline:9px;font-size:.74rem}
  }

  @media(max-width:1280px){
    .mobile-nav-toggle{display:flex;flex:0 0 auto}
    .public-nav{position:fixed;top:0;right:0;left:auto;z-index:93;display:none;width:min(430px,92vw);height:100vh;height:100dvh;max-height:none;overflow:auto;overscroll-behavior:contain;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:max(88px,calc(env(safe-area-inset-top) + 78px)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) 18px;border:0;border-inline-start:1px solid var(--line);border-radius:0;background:#fff;box-shadow:-20px 0 55px rgba(3,20,47,.2)}
    .public-nav.open{display:flex}
    .public-nav__section-label{display:block;margin:14px 7px 8px;color:#7b899b;font-size:.6rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase}
    .public-nav__primary,.public-nav__tools{display:grid;gap:5px;width:100%}
    .public-nav__tools{padding:16px 0 0;border:0;border-top:1px solid var(--line)}
    .public-nav__primary>a{min-height:46px;padding:13px 12px;font-size:.86rem}
    .public-nav__tools>.btn{width:100%;justify-content:center}
    .language-control--public-nav,.account-menu{display:block;width:100%;padding:0}
    .language-control--public-nav .language-control__trigger,.account-menu__trigger{width:100%;min-height:46px;justify-content:flex-start;padding:11px 12px}
    .language-control--public-nav .language-control__chevron,.account-menu__chevron{margin-inline-start:auto}
    .language-control--public-nav .language-control__menu,.account-menu__panel{position:static;width:100%;margin-top:6px;box-shadow:none}
    .account-menu__panel a,.account-menu__panel button{min-height:46px}
  }

  @media(max-width:1080px){
    .jurisdiction-grid--compact{grid-template-columns:repeat(7,minmax(0,1fr))}
    .jurisdiction-grid--full{grid-template-columns:repeat(3,minmax(0,1fr))}
  }

  @media(max-width:820px){
    .jurisdiction-grid--compact{grid-template-columns:repeat(4,minmax(0,1fr))}
    .jurisdiction-grid--full{grid-template-columns:repeat(2,minmax(0,1fr))}
    .language-choice-grid{grid-template-columns:1fr}
  }

  @media(max-width:620px){
    .jurisdiction-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
    .jurisdiction-grid--full{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .jurisdiction-tile{min-height:78px;padding:8px 5px}
    .jurisdiction-grid--full .jurisdiction-tile{min-height:94px}
    .jurisdiction-tile__flag{width:46px;height:30px}
    .jurisdiction-grid--full .jurisdiction-tile__flag{width:52px;height:34px}
    .jurisdiction-grid--full .jurisdiction-tile__label{font-size:.66rem}
  }
}

@layer dac-system {
  .coming-soon-header__identity .language-control__trigger{min-height:38px}
  @media(max-width:820px){
    .coming-soon-header__identity .language-control{width:100%}
    .coming-soon-header__identity .language-control__trigger{width:100%;justify-content:flex-start}
    .coming-soon-header__identity .language-control__chevron{margin-inline-start:auto}
    .coming-soon-header__identity .language-control__menu{position:static;width:100%;margin-top:6px;box-shadow:none}
  }
}
