
/* =========================================================
   EVENT FORM UX + VALIDATION v6.4
   ========================================================= */

.presence-email-alert{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin:0 0 18px;
    padding:13px 14px;
    border:1px solid #d8e6f4;
    border-radius:12px;
    background:#f5f9fd;
}

.presence-email-alert__icon{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#e4eff9;
    color:#486d93;
}

.presence-email-alert__icon svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.presence-email-alert strong{
    display:block;
    color:#31465d;
    font-size:11px;
    line-height:1.4;
}

.presence-email-alert p{
    margin:3px 0 0;
    color:#66798e;
    font-size:9px;
    line-height:1.55;
}

.field-helper{
    display:block;
    margin-top:5px;
    color:#8290a0;
    font-size:8px;
    line-height:1.45;
}

.field-helper strong{
    color:#607083;
}

.field input.is-invalid,
.field select.is-invalid{
    border-color:#d65353!important;
    box-shadow:0 0 0 3px rgba(214,83,83,.08)!important;
}

.public-field-error{
    display:block;
    margin-top:5px;
    color:#c53e3e;
    font-size:8px;
    font-weight:600;
}

/* Searchable select */
.searchable-select{
    position:relative;
}

.searchable-select__control{
    min-height:43px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    width:100%;
    padding:0 12px;
    border:1px solid #d9e2ec;
    border-radius:8px;
    background:#fff;
    color:#25364a;
    font-size:10px;
    text-align:left;
    cursor:pointer;
}

.searchable-select__control:focus{
    outline:none;
    border-color:#cca147;
    box-shadow:0 0 0 3px rgba(204,161,71,.12);
}

.searchable-select__chevron{
    width:7px;
    height:7px;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
    color:#758295;
}

.searchable-select__panel{
    position:absolute;
    z-index:100;
    top:calc(100% + 5px);
    left:0;
    right:0;
    display:none;
    padding:8px;
    border:1px solid #dde3eb;
    border-radius:11px;
    background:#fff;
    box-shadow:0 14px 30px rgba(28,40,56,.14);
}

.searchable-select.is-open .searchable-select__panel{
    display:block;
}

.searchable-select__search{
    width:100%;
    box-sizing:border-box;
    margin-bottom:7px;
    padding:9px 10px!important;
    border:1px solid #dce3eb!important;
    border-radius:8px!important;
    font-size:9px!important;
}

.searchable-select__options{
    max-height:220px;
    overflow:auto;
}

.searchable-select__option{
    width:100%;
    display:block;
    padding:8px 9px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#35465b;
    font-size:9px;
    line-height:1.35;
    text-align:left;
    cursor:pointer;
}

.searchable-select__option:hover,
.searchable-select__option.is-selected{
    background:#f6f0e3;
    color:#8a6926;
}

.searchable-select__empty{
    padding:10px;
    color:#8792a0;
    font-size:9px;
    text-align:center;
}

.certificate-process-info{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-top:4px;
    padding:13px 14px;
    border:1px solid #eadfca;
    border-radius:12px;
    background:#fcf8ef;
}

.certificate-process-info__number{
    width:30px;
    height:30px;
    flex:0 0 30px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#cca147;
    color:#fff;
    font-size:11px;
    font-weight:800;
}

.certificate-process-info strong{
    display:block;
    color:#645021;
    font-size:10px;
    line-height:1.4;
}

.certificate-process-info p{
    margin:3px 0 0;
    color:#806d45;
    font-size:8.5px;
    line-height:1.55;
}

.registration-actions--clean{
    display:flex;
    justify-content:center;
    padding-top:15px;
}

.registration-actions--clean .event-register--large{
    min-width:190px;
}

@media(max-width:680px){
    .presence-email-alert,
    .certificate-process-info{
        gap:10px;
        padding:12px;
    }

    .registration-actions--clean .event-register--large{
        width:100%;
    }
}

/* v6.11 - upload guidance */
.public-upload-field .upload-helper {
    display: block;
    margin-top: 8px;
    line-height: 1.55;
}

.field[hidden] {
    display: none !important;
}
