/* Semac 0.12.77 — one native address input with an inset lookup button.
 * Scoped to the address row only; no checkout totals, gateway or step styling.
 */
body.semac-theme #semac-commerce-main .semac-address-with-validate {
    min-width:0!important;
    overflow:visible!important;
}
body.semac-theme #semac-commerce-main .semac-address-with-validate .semac-address-control {
    display:block!important;
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    overflow:visible!important;
}
body.semac-theme #semac-commerce-main .semac-address-with-validate .semac-address-control > input {
    display:block!important;
    position:static!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:10px 91px 10px 12px!important;
    border:1px solid #318d55!important;
    border-radius:10px!important;
    box-shadow:0 0 0 2px rgba(0,143,67,.05)!important;
    background:#fff!important;
    color:#213a2c!important;
    font-size:15px!important;
    line-height:26px!important;
    box-sizing:border-box!important;
    text-overflow:ellipsis;
}
body.semac-theme #semac-commerce-main .semac-address-with-validate .semac-address-control > input:focus {
    outline:2px solid #176d3c!important;
    outline-offset:2px!important;
    box-shadow:0 0 0 3px rgba(0,143,67,.12)!important;
}
body.semac-theme #semac-commerce-main .semac-address-with-validate button.semac-address-validate-button {
    display:inline-flex!important;
    position:absolute!important;
    top:6px!important;
    right:6px!important;
    left:auto!important;
    bottom:auto!important;
    align-items:center!important;
    justify-content:center!important;
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
    height:36px!important;
    min-height:36px!important;
    margin:0!important;
    padding:0 10px!important;
    border:1px solid #00793b!important;
    border-radius:7px!important;
    background:#008f43!important;
    color:#fff!important;
    box-shadow:none!important;
    font:700 12px/1.2 Arial,Helvetica,sans-serif!important;
    text-transform:none!important;
    letter-spacing:0!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    float:none!important;
    transform:none!important;
    cursor:pointer!important;
    z-index:2!important;
    box-sizing:border-box!important;
}
body.semac-theme #semac-commerce-main .semac-address-with-validate button.semac-address-validate-button:hover {
    background:#006f35!important;
}
body.semac-theme #semac-commerce-main .semac-address-with-validate button.semac-address-validate-button:focus-visible {
    outline:2px solid #154e2f!important;
    outline-offset:2px!important;
}
body.semac-theme #semac-commerce-main .semac-address-with-validate button.semac-address-validate-button[aria-busy="true"] {
    opacity:.7!important;
    cursor:progress!important;
}
body.semac-theme #semac-commerce-main .semac-address-with-validate button.semac-address-validate-button::before,
body.semac-theme #semac-commerce-main .semac-address-with-validate button.semac-address-validate-button::after {
    content:none!important;
    display:none!important;
}
/* Both states use the same green treatment. Only a server-confirmed address
 * gets the success text; searching/filled input by itself is never success. */
body.semac-theme #semac-commerce-main .semac-address-with-validate .semac-address-guidance {
    display:block!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    margin:8px 0 0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#087c3c!important;
    box-shadow:none!important;
    font:700 12px/1.45 Arial,Helvetica,sans-serif!important;
    text-transform:none!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-align:left!important;
    box-sizing:border-box!important;
}
/* Retain native operational status for assistive tech. Errors and retry actions
 * are not hidden. The green guidance is the single ordinary visible message. */
body.semac-theme #semac-commerce-main .semac-address-with-validate .semac-address-status:not(.is-warning):not(.is-error) {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    margin:-1px!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    clip-path:inset(50%)!important;
    white-space:nowrap!important;
}
body.semac-theme #semac-commerce-main .semac-address-with-validate .semac-address-status:is(.is-warning,.is-error) {
    display:block!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    margin:8px 0 0!important;
    padding:9px 11px!important;
    border:1px solid #dfc083!important;
    border-radius:8px!important;
    background:#fff8eb!important;
    color:#704818!important;
    font:500 12px/1.5 Arial,Helvetica,sans-serif!important;
    overflow-wrap:anywhere!important;
    white-space:normal!important;
    clip:auto!important;
    clip-path:none!important;
}
body.semac-theme #semac-commerce-main .semac-address-with-validate .semac-address-instruction-duplicate,
body.semac-theme #semac-commerce-main .semac-address-with-validate .semac-account-address-help,
body.semac-theme #semac-commerce-main .semac-address-with-validate .semac-register-address-help,
body.semac-theme #semac-commerce-main .semac-address-with-validate .semac-account-address-state,
body.semac-theme #semac-commerce-main .semac-address-with-validate .semac-checkout-address-retry {
    display:none!important;
}
@media(min-width:601px) {
    body.semac-theme #semac-commerce-main .semac-address-control > .semac-place-suggestions {
        position:absolute!important;
        top:calc(100% + 6px)!important;
        bottom:auto!important;
        left:0!important;
        right:0!important;
        width:100%!important;
        min-width:0!important;
        max-height:310px!important;
        margin:0!important;
        padding:0!important;
        z-index:10060!important;
        box-sizing:border-box!important;
    }
}
@media(max-width:600px) {
    body.semac-theme #semac-commerce-main .semac-address-with-validate .semac-address-control > input {
        min-height:54px!important;
        height:54px!important;
        padding-right:95px!important;
        font-size:16px!important;
    }
    body.semac-theme #semac-commerce-main .semac-address-with-validate button.semac-address-validate-button {
        top:5px!important;
        right:5px!important;
        height:44px!important;
        min-height:44px!important;
        min-width:82px!important;
        width:82px!important;
        max-width:82px!important;
    }
}
@media(prefers-reduced-motion:reduce) {
    body.semac-theme #semac-commerce-main .semac-address-validate-button { transition:none!important; }
}
