/* ============================= */
/* PostalCodeCity layout          */
/* ============================= */

postalcodecity {
    display: block;
    min-width: 0;
}


.postal-code-city {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.postal-code-city__postalcode {
    flex: 0 0 90px;
    min-width: 0;
}

.postal-code-city__city {
    flex: 1 1 auto;
    min-width: 0;
}

.postal-code-city mytextbox {
    display: block;
    width: 100%;
    min-width: 0;
}

.postal-code-city .myTextBox,
.postal-code-city input {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

/* ============================= */
/* États                          */
/* ============================= */

postalcodecity.postal-code-city--no-result input,
.postal-code-city--no-result input {
    border-color: #e53935;
}

postalcodecity.postal-code-city--multiple input,
.postal-code-city--multiple input {
    border-color: #f28c28;
}

/* ============================= */
/* Suggestions popup              */
/* ============================= */
/* Important :
       pas de position:absolute ici.
       Le positionnement est fait par PopupManager.openAnchored()
       en position: fixed dans document.body.
    */

.postal-code-city-suggestions {
    display: none;
    background: white;
    border: 1px solid #c8c8c8;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .18);
    max-height: 180px;
    overflow: auto;
    min-width: 160px;
    padding: 4px 0;
    font-size: 12px;
    color: #333;
}

    .postal-code-city-suggestions.is-open {
        display: block;
    }

.postal-code-city-suggestion {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    cursor: pointer;
    white-space: nowrap;
    line-height: 18px;
}

    .postal-code-city-suggestion:hover {
        background: #eef5ff;
    }

.postal-code-city-suggestion-main {
    font-weight: 600;
    min-width: 70px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.postal-code-city-suggestion-sub {
    opacity: .65;
    font-size: 11px;
}
.postal-code-city-suggestion.is-selected {
    background: #dcecff;
}

/* ============================= */
/* PostalAddress                  */
/* ============================= */

postaladdress {
    display: block;
    width: 100%;
    min-width: 0;
}

.postal-address {
    display: block;
    width: 100%;
    min-width: 0;
}

.postal-address__edit {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
    min-width: 0;
}

.postal-address__edit > mytextbox,
.postal-address__edit > postalcodecity {
    display: block;
    width: 100%;
    min-width: 0;
}

.postal-address__read {
    display: none;
    width: 100%;
    min-width: 0;
}

postaladdress.is-readonly .postal-address__edit {
    display: none;
}

postaladdress.is-readonly .postal-address__read {
    display: block;
}

.postal-address__read mytextboxarea,
.postal-address__read .myTextBoxArea {
    width: 100%;
    min-width: 0;
}

.postal-address__read .myTextBoxArea {
    white-space: pre-line;
    min-height: 0;
    line-height: 1.55;
    padding-left: var(--zen-ctrl-padding-x);
    padding-right: var(--zen-ctrl-padding-x);
    box-sizing: border-box;
}


/* ============================= */
/* UserHero                       */
/* ============================= */

userhero {
    display:block;
    width:100%;
    min-width:0;
}

.user-hero {
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    gap:22px;
    min-height:142px;
    width:100%;
    padding:22px 28px;
    border:1px solid rgba(44,77,113,.14);
    border-radius:18px;
    background:linear-gradient(
        135deg,
        #ffffff 0%,
        #f6f9fc 62%,
        #e8f1fb 100%
    );
    box-shadow:0 8px 26px rgba(28,55,84,.08);
    box-sizing:border-box;
}

.user-hero::after {
    content:"";
    position:absolute;
    width:230px;
    height:230px;
    right:-74px;
    top:-92px;
    border-radius:50%;
    background:rgba(53,112,170,.07);
    pointer-events:none;
}

.user-hero__avatar {
    position:relative;
    z-index:1;
    flex:0 0 96px;
    width:96px;
    height:96px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#203b57;
    color:#fff;
    font-size:29px;
    font-weight:700;
    letter-spacing:.04em;
    box-shadow:0 8px 20px rgba(32,59,87,.2);
    user-select:none;
}

.user-hero__main {
    position:relative;
    z-index:1;
    min-width:0;
    flex:1 1 auto;
}

.user-hero__name {
    margin:0;
    color:#1f3449;
    font-size:27px;
    line-height:1.15;
    font-weight:700;
    word-break:break-word;
}

.user-hero__meta {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:10px;
    align-items:center;
}

.user-hero__pill {
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:28px;
    padding:4px 10px;
    border-radius:999px;
    background:#e8eef5;
    color:#3e566d;
    font-size:12px;
    font-weight:600;
    box-sizing:border-box;
}

.user-hero__pill.status {
    background:#e7f5ec;
    color:#277344;
}

.user-hero__pill.status.is-inactive {
    background:#f7e8e8;
    color:#984244;
}

.user-hero__contact {
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    margin-top:12px;
    color:#5c6f82;
    font-size:13px;
}

.user-hero__contact > span {
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-width:0;
}

@media screen and (max-width:720px) {

    .user-hero {
        gap:14px;
        min-height:0;
        padding:16px;
        border-radius:16px;
    }

    .user-hero::after {
        width:170px;
        height:170px;
        right:-72px;
        top:-72px;
    }

    .user-hero__avatar {
        flex-basis:70px;
        width:70px;
        height:70px;
        font-size:22px;
    }

    .user-hero__name {
        font-size:20px;
    }

    .user-hero__meta {
        gap:6px;
        margin-top:8px;
    }

    .user-hero__pill {
        min-height:0;
        padding:4px 8px;
        font-size:11px;
    }

    .user-hero__contact {
        flex-direction:column;
        gap:5px;
        margin-top:8px;
        font-size:12px;
    }
}
