/* Cedromare: compact circular flags, large touch targets. Author RZ. */
.cm-language-switcher { position:relative; flex:0 0 auto; display:flex; align-items:center; color:#1b3a80; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
.cm-language-switcher ul { display:flex; flex-wrap:wrap; gap:4px; margin:0; padding:0; list-style:none; }
.cm-language-switcher li { margin:0; padding:0; list-style:none; }
.cm-language-switcher .cm-language-item { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-width:44px; min-height:44px; padding:7px; margin:0; border:0; border-radius:4px; background:transparent; color:#1b3a80; font-size:14px; font-weight:500; line-height:1.4; text-decoration:none; box-sizing:border-box; }
.cm-language-switcher .cm-language-flag { position:relative; display:block; flex:0 0 30px; width:30px; height:30px; overflow:hidden; border:1px solid rgb(18 36 87 / 30%); border-radius:50%; background:#fff; box-shadow:0 2px 3px rgb(18 36 87 / 23%),inset 0 -2px 3px rgb(0 0 0 / 17%); }
.cm-language-switcher .cm-language-flag svg { display:block; width:100%; height:100%; max-width:none; }
.cm-language-switcher .cm-language-flag::after { content:""; position:absolute; inset:0; border-radius:50%; background:radial-gradient(ellipse at 34% 17%,rgb(255 255 255 / 72%) 0, rgb(255 255 255 / 24%) 27%,transparent 52%),linear-gradient(175deg,transparent 50%,rgb(0 0 0 / 18%) 100%); box-shadow:inset 0 1px 1px rgb(255 255 255 / 85%); pointer-events:none; }
.cm-language-switcher .cm-language-item--current .cm-language-flag { outline:2px solid #1b3a80; outline-offset:2px; }
.cm-language-switcher a.cm-language-item:hover { background:#ede7d6; text-decoration:none; }
.cm-language-switcher :is(a,summary):focus-visible { outline:3px solid #e3b325; outline-offset:3px; box-shadow:0 0 0 1px #1b3a80; }
.cm-language-switcher .cm-language-desktop { display:none; }
.cm-language-switcher .cm-language-dropdown { position:relative; margin:0; }
.cm-language-switcher .cm-language-toggle { display:flex; align-items:center; justify-content:center; gap:5px; min-width:52px; min-height:46px; padding:7px; border:1px solid rgb(27 58 128 / 24%); border-radius:24px; background:rgb(255 250 240 / 45%); color:#1b3a80; list-style:none; cursor:pointer; }
.cm-language-switcher .cm-language-toggle::-webkit-details-marker { display:none; }
.cm-language-switcher .cm-language-toggle .cm-language-flag { outline:1px solid #c29a29; outline-offset:1px; }
.cm-language-switcher .cm-language-chevron { font-size:12px; line-height:1; margin-left:2px; }
.cm-language-switcher .cm-language-dropdown[open] .cm-language-toggle { background:#ede7d6; }
.cm-language-switcher .cm-language-panel { position:absolute; top:calc(100% + 12px); right:0; z-index:100; width:190px; max-width:calc(100vw - 32px); padding:8px; border:1px solid #aab4c4; border-top:3px solid #e3b325; border-radius:3px; background:#fffaf0; box-shadow:0 12px 28px rgb(18 36 87 / 17%); }
.cm-language-switcher .cm-language-panel ul { display:block; }
.cm-language-switcher .cm-language-panel li + li { border-top:1px solid #ece4d1; }
.cm-language-switcher .cm-language-panel .cm-language-item { justify-content:flex-start; width:100%; min-height:48px; padding:9px 10px; }
.cm-language-switcher .cm-language-name { color:#1b3a80; font-size:14px; }
.cm-header > .cm-wrap > p:empty { display:none; }
.cm-header-controls { flex-shrink:0; }
@media(max-width:559px) {
  .cm-header > .cm-wrap { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
  .cm-header-controls { width:100%; justify-content:space-between; }
  .cm-language-switcher .cm-language-panel { left:0; right:auto; }
}
@media print { .cm-language-switcher { display:none; } }
