
.pus-public-services{--pus-navy:#06163a;--pus-blue:#0d2458;--pus-gold:#b9811d;--pus-gold-light:#d9ad55;font-family:inherit}
.pus-public-featured-services{display:grid;gap:7px;margin:0 0 16px}
.pus-public-featured-services span{position:relative;padding-left:18px;color:var(--pus-blue);font-size:13px;line-height:1.4}
.pus-public-featured-services span:before{content:"";position:absolute;left:2px;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--pus-gold)}
.pus-public-service-actions{display:flex;flex-direction:column;gap:8px}
.pus-public-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border:1px solid var(--pus-blue);border-radius:4px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;text-decoration:none!important;cursor:pointer;transition:.18s ease}
.pus-public-button-primary{background:var(--pus-blue);color:#fff!important}.pus-public-button-primary:hover{background:var(--pus-navy)}
.pus-public-button-secondary{background:#fff;color:var(--pus-blue)}.pus-public-button-secondary:hover{background:#f7f8fb}
.pus-public-modal{display:none;position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:20px}
.pus-public-modal.is-open{display:flex}.pus-public-modal-backdrop{position:absolute;inset:0;background:rgba(6,22,58,.72);backdrop-filter:blur(4px)}
.pus-public-modal-dialog{position:relative;z-index:1;width:min(720px,100%);max-height:88vh;overflow:auto;border-radius:18px;background:#fff;box-shadow:0 30px 90px rgba(6,22,58,.32);padding:30px}
.pus-public-modal-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:#f2f4f8;color:var(--pus-blue);font-size:25px;cursor:pointer}
.pus-public-modal-heading{padding-right:46px;margin-bottom:22px}.pus-public-modal-heading small{color:var(--pus-gold);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.pus-public-modal-heading h2{margin:7px 0 3px;color:var(--pus-navy);font-size:29px}.pus-public-modal-heading p{margin:0;color:#667085}
.pus-public-accordion{border-top:1px solid #e4e7ec}.pus-public-accordion details{border-bottom:1px solid #e4e7ec}
.pus-public-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 2px;color:var(--pus-blue);font-weight:800;cursor:pointer;list-style:none}
.pus-public-accordion summary::-webkit-details-marker{display:none}.pus-public-accordion-icon{color:var(--pus-gold);font-size:23px}.pus-public-accordion details[open] .pus-public-accordion-icon{transform:rotate(45deg)}
.pus-public-accordion ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 22px;margin:0;padding:0 0 18px;list-style:none}
.pus-public-accordion li{position:relative;padding-left:17px;color:#475467;line-height:1.45}.pus-public-accordion li:before{content:"";position:absolute;left:1px;top:.58em;width:5px;height:5px;border-radius:50%;background:var(--pus-gold-light)}
.pus-public-modal-action{margin-top:24px}.pus-public-modal-action .pus-public-button{width:100%}body.pus-modal-open{overflow:hidden}
@media(max-width:600px){.pus-public-modal{padding:10px}.pus-public-modal-dialog{padding:24px 18px;border-radius:14px}.pus-public-modal-heading h2{font-size:24px}.pus-public-accordion ul{grid-template-columns:1fr}}


/* Modal isolated from Divi card hover effects */
body > .pus-public-modal{
    transform:none !important;
    transition:none !important;
    animation:none !important;
    contain:layout style;
}
body > .pus-public-modal .pus-public-modal-dialog{
    transform:none;
    backface-visibility:hidden;
    -webkit-font-smoothing:antialiased;
}


/* Modal layout and accordion refinements */
body > .pus-public-modal .pus-public-modal-dialog{
    display:flex;
    flex-direction:column;
}

body > .pus-public-modal .pus-public-accordion{
    flex:1 1 auto;
}

body > .pus-public-modal .pus-public-accordion ul{
    margin:0 !important;
    padding:0 0 18px !important;
    list-style:none !important;
}

body > .pus-public-modal .pus-public-accordion li{
    position:relative !important;
    margin:0 !important;
    padding-left:19px !important;
    list-style:none !important;
}

body > .pus-public-modal .pus-public-accordion li::before{
    content:"" !important;
    position:absolute !important;
    left:2px !important;
    top:.62em !important;
    width:6px !important;
    height:6px !important;
    border-radius:50% !important;
    background:#d9ad55 !important;
    display:block !important;
}

body > .pus-public-modal .pus-public-modal-action{
    display:block !important;
    flex:0 0 auto;
    width:100%;
    margin-top:22px !important;
    padding-top:0;
}

body > .pus-public-modal .pus-public-modal-action .pus-public-button{
    display:flex !important;
    width:100% !important;
    min-height:46px;
    visibility:visible !important;
    opacity:1 !important;
    background:#0d2458 !important;
    color:#ffffff !important;
    border-color:#0d2458 !important;
    text-align:center;
}

body > .pus-public-modal .pus-public-modal-action .pus-public-button:hover{
    background:#06163a !important;
    border-color:#06163a !important;
    color:#ffffff !important;
}

@media(max-width:600px){
    body > .pus-public-modal .pus-public-modal-action{
        position:sticky;
        bottom:-24px;
        padding:14px 0 24px;
        margin-top:16px !important;
        background:#ffffff;
    }
}


/* Public notary information */
.pus-public-notary-info{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:0 0 22px;
}
.pus-public-notary-info > div{
    padding:12px 14px;
    border:1px solid #e4e7ec;
    border-radius:9px;
    background:#f8fafc;
}
.pus-public-notary-info span,
.pus-public-notary-info strong{
    display:block;
}
.pus-public-notary-info span{
    margin-bottom:4px;
    color:#8a6a21;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.pus-public-notary-info strong{
    color:#344054;
    font-size:13px;
    line-height:1.4;
}

/* Smooth accordion */
body > .pus-public-modal .pus-public-accordion details{
    overflow:hidden;
}
body > .pus-public-modal .pus-public-accordion-content{
    height:0;
    overflow:hidden;
    opacity:0;
    transition:
        height 260ms ease,
        opacity 180ms ease;
}
body > .pus-public-modal .pus-public-accordion details[open] .pus-public-accordion-content{
    opacity:1;
}
body > .pus-public-modal .pus-public-accordion-content ul{
    padding-top:2px !important;
}
body > .pus-public-modal .pus-public-accordion summary{
    user-select:none;
}
body > .pus-public-modal .pus-public-accordion-icon{
    transition:transform 220ms ease;
}
body > .pus-public-modal .pus-public-accordion details[open] .pus-public-accordion-icon{
    transform:rotate(45deg);
}

@media(max-width:600px){
    .pus-public-notary-info{
        grid-template-columns:1fr;
    }
}

.pus-request-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:1000000;
    align-items:center;
    justify-content:center;
    padding:18px;
}
.pus-request-modal.is-open{display:flex}
.pus-request-modal-dialog{
    position:relative;
    z-index:1;
    width:min(900px,100%);
    max-height:92vh;
    overflow:auto;
    border-radius:18px;
    background:#fffdf8;
    box-shadow:0 30px 90px rgba(6,22,58,.34);
}
.pus-request-modal .pus-public-form-wrap{
    max-width:none;
    margin:0;
    border:0;
    box-shadow:none;
    border-radius:18px;
}
.pus-request-modal .pus-public-modal-close{
    z-index:3;
}
@media(max-width:600px){
    .pus-request-modal{padding:8px}
    .pus-request-modal-dialog{border-radius:14px}
}


/* Global service catalog */
.pus-global-catalog{
    display:inline-block;
}
.pus-global-catalog-trigger{
    min-width:220px;
}
.pus-global-catalog-dialog{
    width:min(860px,calc(100vw - 32px));
}
.pus-global-search-wrap{
    margin:0 0 20px;
}
.pus-global-search-wrap label{
    display:block;
    margin-bottom:7px;
    color:#0d2458;
    font-weight:800;
}
.pus-global-search-wrap input{
    width:100%;
    min-height:48px;
    padding:11px 14px;
    border:1px solid #cbd0da;
    border-radius:9px;
    background:#fff;
    color:#172033;
    font:inherit;
    box-sizing:border-box;
}
.pus-global-search-wrap input:focus{
    outline:none;
    border-color:#b9811d;
    box-shadow:0 0 0 3px rgba(185,129,29,.13);
}
.pus-global-services-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:2px 0 18px;
}
.pus-global-service-option{
    display:flex;
    flex-direction:column;
    gap:4px;
    width:100%;
    padding:13px 14px;
    border:1px solid #e2e6ed;
    border-radius:9px;
    background:#fff;
    color:#0d2458;
    text-align:left;
    cursor:pointer;
    transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.pus-global-service-option:hover{
    border-color:#d9ad55;
    background:#fffaf0;
    transform:translateY(-1px);
}
.pus-global-service-option span{
    font-weight:750;
    line-height:1.35;
}
.pus-global-service-option small{
    color:#667085;
    font-size:12px;
}
.pus-global-other-action{
    margin-top:18px;
}
.pus-global-other-action .pus-public-button{
    width:100%;
}
.pus-global-empty{
    margin:0 0 16px;
    padding:12px 14px;
    border-left:4px solid #d9ad55;
    background:#fff8e8;
    color:#66542b;
}
@media(max-width:640px){
    .pus-global-services-grid{
        grid-template-columns:1fr;
    }
    .pus-global-catalog-dialog{
        width:calc(100vw - 16px);
    }
}


/* Modal-only global catalog shortcode */
.pus-global-catalog{
    display:contents;
}


/* Public notary observation */
.pus-public-notary-observation{
    margin:0 0 22px;
    padding:13px 15px;
    border-left:4px solid var(--pus-gold);
    border-radius:8px;
    background:#fffaf0;
}
.pus-public-notary-observation span{
    display:block;
    margin-bottom:5px;
    color:#8a6a21;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.pus-public-notary-observation p{
    margin:0;
    color:#475467;
    font-size:13px;
    line-height:1.5;
    overflow-wrap:anywhere;
}
