.aqua-pf { display: flex; flex-wrap: wrap; align-items: flex-end; position: relative; }
.aqua-pf > label {
    order: -1; flex: 0 0 100%;
    position: static; transform: none; pointer-events: none;
    font-size: .72rem; font-weight: 500;
    color: var(--ocean-deep, #0e4a6f);
    margin-bottom: 0;
}
/* The phone label is a fixed block above the field — neutralize the widget's
   generic floating-label transform (which is more specific) on focus/typing. */
.aqua-pf input[type="tel"]:focus ~ label,
.aqua-pf input[type="tel"]:not(:placeholder-shown) ~ label {
    transform: none; font-weight: 500;
}
.aqua-pf__cc {
    display: inline-flex; align-items: center; gap: 5px;
    background: transparent; border: none;
    border-bottom: 2px solid rgba(0, 0, 0, .12);
    padding: 6px 8px 8px 0; margin-right: 8px;
    font-family: inherit; font-size: .92rem; color: var(--ocean-dark, #0a3553);
    cursor: pointer; transition: border-color .25s;
}
.aqua-pf__cc:hover { border-bottom-color: var(--sky, #2a8fbd); }
.aqua-pf__flag { font-size: 1.15rem; line-height: 1; }
.aqua-pf__dial { font-weight: 500; }
.aqua-pf__chev { font-size: .7rem; color: #6b7f8e; }
.aqua-pf input[type="tel"] { flex: 1 1 auto; width: auto; min-width: 0; padding: 6px 0 8px; }
.aqua-pf input[type="tel"]::placeholder { color: rgba(0,0,0,.28); }
.aqua-pf--filled input[type="tel"][aria-invalid="false"] { border-bottom-color: var(--sky, #2a8fbd); }
.aqua-pf input[type="tel"][aria-invalid="true"] { border-bottom-color: #c54b4b; }

.aqua-pf__status {
    flex: 0 0 100%; font-size: .72rem; margin-top: 3px; min-height: .9rem;
    display: flex; align-items: center; gap: 6px; color: #6b7f8e;
}
.aqua-pf__status::before { content: ''; width: 14px; height: 14px; border-radius: 50%; display: none; }
.aqua-pf__status--ok  { color: #1b7d4b; }
.aqua-pf__status--ok::before  { display: inline-block; background: #239D5F url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2L5 8.5 9.5 3.5' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat; }
.aqua-pf__status--warn { color: #b06a1e; }
.aqua-pf__status--err  { color: #c54b4b; }
.aqua-pf__status--warn::before, .aqua-pf__status--err::before {
    display: inline-block; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 1L11 10.5H1z' fill='black'/%3E%3C/svg%3E") center/12px no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 1L11 10.5H1z' fill='black'/%3E%3C/svg%3E") center/12px no-repeat;
}

/* Country popover — lives in <body>, positioned fixed by JS (flips up when
   there's no room below) so the overflow:hidden panel never clips it. */
.aqua-pf__pop {
    position: fixed; z-index: 9999; width: 290px; max-width: calc(100vw - 16px);
    background: #fff; border: 1px solid rgba(0,0,0,.10);
    border-radius: 12px; box-shadow: 0 16px 40px rgba(13,26,18,.16); overflow: hidden;
}
.aqua-pf__search { padding: 10px; border-bottom: 1px solid rgba(0,0,0,.08); }
.aqua-pf__search input {
    width: 100%; border: 1.5px solid rgba(0,0,0,.12); border-radius: 9px;
    padding: 8px 10px; font-family: inherit; font-size: .85rem; color: var(--ocean-dark, #0a3553); outline: none;
}
.aqua-pf__search input:focus { border-color: var(--sky, #2a8fbd); }
.aqua-pf__list { max-height: 240px; overflow-y: auto; padding-bottom: 4px; }
.aqua-pf__group { font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 600;
    color: #6b7f8e; padding: 9px 14px 3px; }
.aqua-pf__group + .aqua-pf__item { padding-top: 4px; }
.aqua-pf__item {
    display: flex; align-items: center; gap: 10px; width: 100%;
    background: transparent; border: none; padding: 6px 14px; cursor: pointer; text-align: left;
    font-family: inherit; color: var(--ocean-dark, #0a3553);
}
.aqua-pf__item:hover { background: rgba(0,0,0,.04); }
.aqua-pf__item-flag { font-size: 1.05rem; }
.aqua-pf__item-name { flex: 1; font-size: .85rem; }
.aqua-pf__item-dial { font-size: .78rem; color: #6b7f8e; background: rgba(0,0,0,.05);
    border-radius: 20px; padding: 2px 9px; font-weight: 500; }
.aqua-pf__more {
    display: flex; align-items: center; gap: 7px; width: 100%;
    background: transparent; border: none; cursor: pointer; text-align: left;
    padding: 9px 14px; margin-top: 2px;
    font-family: inherit; font-size: .8rem; font-weight: 500;
    color: var(--ocean-deep, #0e4a6f);
}
.aqua-pf__more::before { content: '+'; font-size: 1rem; line-height: 1; opacity: .8; }
.aqua-pf__more:hover { background: rgba(0,0,0,.04); }
.aqua-pf__empty { padding: 14px; font-size: .82rem; color: #6b7f8e; }

/* Preferred channel — question + compact text chips flow inline (chips use
   display:contents so each chip wraps individually beside the question,
   instead of the whole group dropping to its own line). */
.aqua-pf__channel { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; margin-top: 10px; }
.aqua-pf__channel-q { font-size: .74rem; font-weight: 500; color: var(--ocean-dark, #0a3553); margin: 0; flex: 0 0 auto; }
.aqua-pf__chips { display: flex; gap: 6px; flex: 0 1 auto; }
.aqua-pf__chip {
    background: transparent; border: 1.5px solid rgba(0,0,0,.14); border-radius: 14px;
    padding: 5px 11px; font-family: inherit; font-size: .72rem; line-height: 1; color: var(--ocean-dark, #0a3553);
    cursor: pointer; transition: border-color .18s, background .18s, color .18s;
}
.aqua-pf__chip:hover { border-color: var(--sky, #2a8fbd); }
.aqua-pf__chip.is-active { border-color: var(--sky, #2a8fbd); background: var(--sky, #2a8fbd); color: #fff; }
.aqua-pf__chip--wa.is-active { border-color: #239D5F; background: #239D5F; color: #fff; }
