/* Scoped to the workshop language field; does not restyle other CF7 fields. */
.wpcf7 .aip-field--languages { min-width: 0; border: 0; padding: 0; margin: 0; }
.wpcf7 .aip-field--languages > legend { margin-bottom: 8px; }
.wpcf7 .aip-language-dropdown,
.wpcf7 .aip-language-dropdown * { box-sizing: border-box; }
.wpcf7 .aip-language-dropdown { position: relative; min-width: 0; width: 100%; margin: 0; padding: 0; color: #111c1e; font: 400 16px/1.4 var(--wp--preset--font-family--geist, Arial), sans-serif; letter-spacing: normal; }
.wpcf7 .aip-language-dropdown[open] { z-index: 100; }
.wpcf7 .aip-language-dropdown > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 56px; padding: 14px 18px; margin: 0; border: 1px solid #dfdac7; border-radius: 10px; background: #faf8f2; color: #111c1e; font: inherit; font-weight: 400; letter-spacing: normal; text-transform: none; cursor: pointer; list-style: none; }
.wpcf7 .aip-language-dropdown > summary::-webkit-details-marker { display: none; }
.wpcf7 .aip-language-dropdown > summary::marker { content: ''; }
.wpcf7 .aip-language-dropdown > summary::after { content: ''; display: block; flex: 0 0 7px; width: 7px; height: 7px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); margin: -4px 2px 0 0; }
.wpcf7 .aip-language-dropdown[open] > summary::after { transform: rotate(225deg); margin-top: 4px; }
.wpcf7 .aip-language-dropdown [data-aip-language-summary] { display: block; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wpcf7 .aip-language-dropdown > summary:focus-visible,
.wpcf7 .aip-language-dropdown input:focus-visible,
.wpcf7 .aip-language-dropdown button:focus-visible { outline: 2px solid #1d8089; outline-offset: 2px; }
.wpcf7 .aip-language-dropdown [data-aip-language-panel] { position: absolute; inset-inline: 0; top: calc(100% + 6px); display: flex; flex-direction: column; gap: 10px; min-width: 0; max-height: 390px; max-height: min(390px, 70dvh); padding: 12px; border: 1px solid #dfdac7; border-radius: 12px; background: #fff; box-shadow: 0 10px 30px rgb(17 28 30 / 12%); overflow: hidden; }
.wpcf7 .aip-language-dropdown:not([open]) > [data-aip-language-panel] { display: none; }
.wpcf7 .aip-language-dropdown.aip-language-upward [data-aip-language-panel] { top: auto; bottom: calc(100% + 6px); }
.wpcf7 .aip-language-dropdown .aip-language-search-label { display: block; flex: 0 0 auto; padding: 0; margin: 0; width: 100%; }
.wpcf7 .aip-language-dropdown input.aip-language-search { appearance: auto; display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 44px; height: 44px; padding: 10px 12px; margin: 0; border: 1px solid #dfdac7; border-radius: 8px; background: #faf8f2; color: #111c1e; font: 400 16px/22px var(--wp--preset--font-family--geist, Arial), sans-serif; box-shadow: none; letter-spacing: normal; text-transform: none; }
.wpcf7 .aip-language-dropdown [data-aip-language-options] { flex: 1 1 auto; min-height: 0; max-height: 272px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-gutter: stable; padding: 2px; }
.wpcf7 .aip-language-dropdown .wpcf7-form-control-wrap,
.wpcf7 .aip-language-dropdown .aip-language-options { display: block; width: 100%; margin: 0; padding: 0; }
.wpcf7 .aip-language-dropdown .wpcf7-list-item { display: block; width: 100%; padding: 0; margin: 0; }
.wpcf7 .aip-field--languages details.aip-language-dropdown .wpcf7-list-item > label { display: flex; flex-direction: row; align-items: center; gap: 10px; width: 100%; min-height: 42px; height: auto; margin: 0; padding: 8px 10px; border: 0; border-radius: 6px; background: transparent; color: #111c1e; font: 400 15px/22px var(--wp--preset--font-family--geist, Arial), sans-serif; letter-spacing: normal; text-transform: none; cursor: pointer; }
.wpcf7 .aip-field--languages details.aip-language-dropdown .wpcf7-list-item > label:hover,
.wpcf7 .aip-field--languages details.aip-language-dropdown .wpcf7-list-item > label:has(input:checked) { background: #eefbfc; }
.wpcf7 .aip-language-dropdown .wpcf7-list-item-label { min-width: 0; color: inherit; font: inherit; letter-spacing: normal; overflow-wrap: anywhere; }
.wpcf7 .aip-language-dropdown input[type=checkbox] { appearance: auto; position: static; display: block; opacity: 1; flex: 0 0 18px; width: 18px; height: 18px; min-width: 18px; min-height: 18px; margin: 0; padding: 0; border-radius: 3px; accent-color: #1d8089; transform: none; clip-path: none; }
.wpcf7 .aip-language-dropdown .aip-language-actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 8px; margin: 0; padding: 8px 0 0; border-top: 1px solid #eee; }
.wpcf7 .aip-language-dropdown .aip-language-actions button { appearance: none; position: static; display: inline-flex; align-items: center; justify-content: center; width: auto; min-height: 40px; padding: 8px 12px; margin: 0; border: 0; border-radius: 8px; background: #eefbfc; color: #135c63; font: 500 14px/20px var(--wp--preset--font-family--geist, Arial), sans-serif; letter-spacing: normal; text-transform: none; box-shadow: none; cursor: pointer; }
.wpcf7 .aip-language-dropdown .aip-language-actions .aip-language-done { background: #e1ff01; color: #111c1e; }
.wpcf7 .aip-language-dropdown .aip-language-actions button:disabled { opacity: .5; cursor: default; }
.wpcf7 .aip-language-dropdown .aip-language-empty { margin: 0; padding: 8px; font: inherit; font-size: 14px; }
.wpcf7 .aip-language-dropdown [hidden] { display: none !important; }
.wpcf7 .aip-language-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.wpcf7 .aip-field--languages > small { display: block; margin-top: 6px; font: 400 12px/18px var(--wp--preset--font-family--geist, Arial), sans-serif; letter-spacing: normal; color: #596367; }
@media (prefers-reduced-motion: reduce) { .wpcf7 .aip-language-dropdown * { scroll-behavior: auto; } }
