/*
 * Add site-specific CSS here.
 *
 * This stylesheet is loaded after the main theme styles, so overrides added
 * here take precedence without modifying style.css.
 */

/* Funds4 plugin account, login and registration pages */
.f4s-registration-card{
    width:min(calc(100% - 40px), 540px);
    margin:0 auto;
    padding:34px;
    border:1px solid #dfe4ed;
    border-radius:15px;
    background:#fff;
    box-shadow:0 8px 24px #0d265012;
}
.f4s-registration-page{
    margin:52px auto;
}
.f4s-registration-page__title{
    width:min(calc(100% - 40px), 540px);
    margin:0 auto 24px;
    color:var(--navy);
    font:700 45px/1 var(--heading-font, "Baloo 2", cursive);
    text-align:center;
}
.f4s-registration-card .f4s-registration-page__title{
    width:auto;
    margin:0 0 24px;
}
.f4s-registration-card__header{
    margin:0 0 26px;
    text-align:center;
}
.f4s-registration__logo{
    display:block;
    width:auto;
    max-width:160px;
    height:auto;
    max-height:110px;
    margin:0 auto 15px;
    object-fit:contain;
}
.f4s-registration-card h2{
    margin:0;
    color:var(--navy);
    font:700 38px/1.05 var(--heading-font, "Baloo 2", cursive);
}
.f4s-registration-card__header p{
    margin:8px 0 0;
    color:#52617a;
    font-weight:700;
}
.f4s-registration-form p{margin:0 0 19px}
.f4s-registration-form label{
    display:block;
    margin-bottom:7px;
    color:var(--navy);
    font-weight:800;
}
.f4s-registration-form input:not([type="checkbox"]){
    display:block;
    width:100%;
    min-height:48px;
    margin-top:7px;
    padding:10px 13px;
    border:2px solid #d9dfe9;
    border-radius:7px;
    background:#fff;
    color:var(--ink);
    font:inherit;
}
.f4s-registration-form input:not([type="checkbox"]):focus{
    border-color:var(--navy);
    outline:3px solid #a9d8f266;
}
.f4s-registration-form input[type="checkbox"]{
    width:18px;
    height:18px;
    margin:0 7px 0 0;
    accent-color:var(--pink);
    vertical-align:-3px;
}
.f4s-registration-form__action{margin:26px 0 0!important}
.f4s-registration-form__action .button{
    display:flex;
    width:100%;
    min-height:50px;
    border:0;
    border-radius:7px;
    background:var(--pink);
    color:#fff;
    font:800 16px/1 var(--body-font, "Nunito Sans", Arial, sans-serif);
}
.f4s-registration-form__action .button:hover{background:var(--navy)}
.f4s-registration-card .woocommerce-message,
.f4s-registration-card .woocommerce-error{
    margin:0;
    border-top:0!important;
    border-radius:9px;
}
.f4s-registration-card .woocommerce-message{background:#f0f8ea;color:#244825}
.f4s-registration-card .woocommerce-error{background:#fff0f4;color:#8b1749}
.f4s-registration-card .woocommerce-error ul{margin:0;padding-left:20px}
.f4s-login__register-link{
    margin:20px 0 0;
    text-align:center;
}
.f4s-login__register-link a{
    color:var(--navy);
    font-weight:800;
    text-decoration:underline;
    text-decoration-color:var(--yellow);
    text-underline-offset:5px;
}
.f4s-purchase-login__browse{
    margin-top:20px!important;
    font-size:15px;
}
.f4s-purchase-login__browse a{
    color:var(--navy);
    font-weight:800;
    text-decoration:underline;
    text-decoration-color:var(--yellow);
    text-underline-offset:5px;
}
.f4s-login-flow .woocommerce-message,.f4s-login-flow .woocommerce-error{margin:0 0 18px;padding:14px 16px;border-top:0!important;border-radius:9px}
.f4s-login-options{margin-top:18px;padding-top:20px;border-top:1px solid #dfe4ed}
.f4s-login-options[hidden]{display:none}
.f4s-login-step--send-code{margin-top:24px}
.f4s-login-step--send-code .f4s-login__send-code{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;border:2px solid var(--navy);border-radius:7px;background:#fff;color:var(--navy);font:800 15px/1 var(--body-font, "Nunito Sans", Arial, sans-serif)}
.f4s-login-step--send-code .f4s-login__send-code:hover{background:var(--navy);color:#fff}
.f4s-login-step--code{margin-top:24px;padding-top:20px;border-top:1px solid #dfe4ed}
.f4s-login-step--code input{letter-spacing:.16em;text-align:center;font-size:20px;font-weight:800}
@media(max-width:560px){
    .f4s-registration-page{margin:32px auto}
    .f4s-registration-card{width:min(calc(100% - 28px),540px);padding:24px 20px}
    .f4s-registration-page__title{width:min(calc(100% - 28px),540px);font-size:38px}
    .f4s-registration-card h2{font-size:33px}
}

/* Logged-out WooCommerce My Account screen */
.woocommerce-account .woocommerce-page > .woocommerce:has(.woocommerce-form-login) > h2{
    width:min(100%,540px);
    margin:0 auto 24px;
    text-align:center;
}
.woocommerce-account .woocommerce-page > .woocommerce:has(.woocommerce-form-login){
    display:flex;
    flex-direction:column;
    align-items:center;
}
.woocommerce-account .woocommerce-page > .woocommerce .woocommerce-form-login{
    width:min(100%,540px);
    margin-inline:auto!important;
}
.woocommerce-account .woocommerce-form-login .f4s-login-flow{width:100%}
.woocommerce-account .woocommerce-form-login .f4s-registration-form{max-width:none;margin:0;padding:0;border:0!important;border-radius:0!important;box-shadow:none}
.woocommerce-account .woocommerce-form-login .f4s-login-step--send-code,.woocommerce-account .woocommerce-form-login .f4s-login-step--code{margin-top:24px!important}
.woocommerce-account .woocommerce-form-login .f4s-login__register-link{margin-bottom:0}

/* My Account profile and address forms */
.woocommerce-account .woocommerce-MyAccount-content > form:not(.woocommerce-form-login) h2{
    margin:0 0 24px;
    color:var(--navy);
    font:700 34px/1.1 var(--heading-font, "Baloo 2", cursive);
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-form-row,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row{
    margin:0 0 18px!important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-form-row label,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row label{
    display:block;
    margin-bottom:7px;
    color:var(--navy);
    font-weight:800;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-form-row .input-text,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .input-text,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields select{
    width:100%;
    min-height:48px;
    padding:10px 13px;
    border:2px solid #d9dfe9;
    border-radius:7px;
    background:#fff;
    color:var(--ink);
    font:inherit;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-form-row .input-text:focus,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .input-text:focus,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields select:focus{
    border-color:var(--navy);
    outline:3px solid #a9d8f266;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-form-row .required,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .required{color:var(--pink)}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-form-row span.description{
    display:block;
    margin-top:7px;
    color:#5c6880;
    font-size:14px;
}
.woocommerce-account .woocommerce-MyAccount-content form.edit-account fieldset{
    clear:both;
    margin:26px 0;
    padding:22px;
    border:1px solid #dfe4ed;
    border-radius:10px;
    background:#f9fbff;
}
.woocommerce-account .woocommerce-MyAccount-content form.edit-account legend{
    padding:0 8px;
    color:var(--navy);
    font:700 24px/1 var(--heading-font, "Baloo 2", cursive);
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 18px;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .form-row{
    float:none!important;
    width:auto!important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .form-row-wide{
    grid-column:1/-1;
}
.woocommerce-account .woocommerce-MyAccount-content .select2-container--default .select2-selection--single{
    height:48px;
    border:2px solid #d9dfe9;
    border-radius:7px;
}
.woocommerce-account .woocommerce-MyAccount-content .select2-container--default .select2-selection__rendered{
    padding-left:13px;
    line-height:44px;
}
.woocommerce-account .woocommerce-MyAccount-content .select2-container--default .select2-selection__arrow{height:44px}
.woocommerce-account .woocommerce-MyAccount-content form.edit-account > p:last-of-type,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields > p:last-child{margin:26px 0 0}
.woocommerce-account .woocommerce-MyAccount-content form.edit-account .woocommerce-Button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields button[type="submit"]{
    min-height:48px;
    border:0;
    border-radius:7px;
    background:var(--pink)!important;
    color:#fff!important;
    font-weight:800;
}
.woocommerce-account .woocommerce-MyAccount-content form.edit-account .woocommerce-Button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields button[type="submit"]:hover{background:var(--navy)!important}
@media(max-width:560px){
    .woocommerce-account .woocommerce-MyAccount-content > form:not(.woocommerce-form-login) h2{font-size:29px}
    .woocommerce-account .woocommerce-MyAccount-content form.edit-account fieldset{padding:18px}
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper{grid-template-columns:1fr}
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .form-row-wide{grid-column:auto}
}

/* Customer artwork code entry */
.woocommerce-account .f4s-add-artwork-code{
    margin:24px 0;
    padding:22px;
    border:1px solid #dfe4ed;
    border-radius:10px;
    background:#f9fbff;
}
.woocommerce-account .f4s-add-artwork-code h3{
    margin:0 0 8px;
    color:var(--navy);
    font:700 28px/1.1 var(--heading-font, "Baloo 2", cursive);
}
.woocommerce-account .f4s-add-artwork-code p{margin:0 0 16px}
.woocommerce-account .f4s-add-artwork-code label{
    display:block;
    margin-bottom:7px;
    color:var(--navy);
    font-weight:800;
}
.woocommerce-account .f4s-add-artwork-code__controls{display:flex;gap:10px}
.woocommerce-account .f4s-add-artwork-code input{
    flex:1;
    min-width:0;
    min-height:48px;
    padding:10px 13px;
    border:2px solid #d9dfe9;
    border-radius:7px;
    color:var(--ink);
    font:inherit;
}
.woocommerce-account .f4s-add-artwork-code input:focus{border-color:var(--navy);outline:3px solid #a9d8f266}
.woocommerce-account .f4s-add-artwork-code .button{min-height:48px;border:0;border-radius:7px;background:var(--pink);color:#fff;font-weight:800}
.woocommerce-account .f4s-add-artwork-code .button:hover{background:var(--navy)}
@media(max-width:560px){
    .woocommerce-account .f4s-add-artwork-code{padding:18px}
    .woocommerce-account .f4s-add-artwork-code__controls{flex-direction:column}
    .woocommerce-account .f4s-add-artwork-code .button{width:100%}
}

/* Customer-owned artwork upload */
.woocommerce-account .f4s-upload-artwork{
    margin:24px 0;
    padding:22px;
    border:1px solid #dfe4ed;
    border-radius:10px;
    background:#fff6fa;
}
.woocommerce-account .f4s-upload-artwork h3{
    margin:0 0 8px;
    color:var(--navy);
    font:700 28px/1.1 var(--heading-font, "Baloo 2", cursive);
}
.woocommerce-account .f4s-upload-artwork p{margin:0 0 16px}
.woocommerce-account .f4s-upload-artwork label{
    display:block;
    margin-bottom:7px;
    color:var(--navy);
    font-weight:800;
}
.woocommerce-account .f4s-upload-artwork__controls{display:flex;align-items:center;gap:10px}
.woocommerce-account .f4s-upload-artwork input[type="file"]{
    flex:1;
    min-width:0;
    min-height:48px;
    padding:8px;
    border:2px solid #d9dfe9;
    border-radius:7px;
    background:#fff;
    color:var(--ink);
    font:inherit;
}
.woocommerce-account .f4s-upload-artwork .button{min-height:48px;border:0;border-radius:7px;background:var(--pink);color:#fff;font-weight:800}
.woocommerce-account .f4s-upload-artwork .button:hover{background:var(--navy)}
@media(max-width:560px){
    .woocommerce-account .f4s-upload-artwork{padding:18px}
    .woocommerce-account .f4s-upload-artwork__controls{align-items:stretch;flex-direction:column}
    .woocommerce-account .f4s-upload-artwork .button{width:100%}
}
