/**
 * Woo Address Book Customizations - custom styles.
 *
 * Targets the Address Book plugin's existing markup only.
 * No HTML/PHP template changes required for these to take effect.
 *
 * Common classes available to style (add rules below as needed):
 *
 *   .address_book                 - wrapper around each address type's book (billing/shipping)
 *   .address_book .addresses      - grid/list of saved address cards
 *   .address_book .address        - a single saved address card
 *   .address_book .address.default - the current default address card
 *   .wc-address-book-title        - address card's title/nickname
 *   .wc-address-book-edit         - "Edit" button on a card
 *   .wc-address-book-delete       - "Delete" button on a card
 *   .wc-address-book-set-default  - "Set as default" button on a card
 *   .address-book-badge           - "Default" badge shown on the default card
 *
 * Example:
 *
 * .address_book .address.default {
 *     border-color: #000;
 * }
 */

.woocommerce-account .address_book header{
    padding: 10px;
}

/* Desktop */
.woocommerce-address-fields__field-wrapper{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:10px;
}

.woocommerce-address-fields__field-wrapper .form-row{
    width:100% !important;
    float:none !important;
    clear:none !important;
    margin:0 !important;
}

.woocommerce-address-fields__field-wrapper .form-row-wide{
    grid-column:1 / -1;
}

/* Inputs */
.woocommerce-address-fields__field-wrapper input,
.woocommerce-address-fields__field-wrapper select,
.woocommerce-address-fields__field-wrapper textarea,
.woocommerce-address-fields__field-wrapper .select2-container{
    width:100% !important;
}

.woocommerce-cart .woocommerce-shipping-destination {
    display: none !important;
}

.woocommerce-account .billing_address_book{
	margin-top:0px !important;
}

/* WooCommerce Success Message */
.woocommerce-notices-wrapper {
    margin: 0 0 20px;
}

.woocommerce-message {
    display: flex;
    align-items: center;
    padding: 12px 18px;
    margin-bottom: 20px;
    background: #d4edda;
    border-left: 4px solid #28a745;
    border-radius: 4px;
    color:#28a745;
    min-height: auto;
}

.woocommerce-message::before {
    position: static;
    margin-right: 10px;
    font-size: 18px;
    line-height: 1;
}

.woocommerce-message p {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px;
    line-height: 1.5;
}

.woocommerce-message .no-button {
    margin: 0 !important;
}

/* WooCommerce Error Notice */
.woocommerce-notices-wrapper {
    margin: 0 0 30px;
}

.woocommerce-error {
    list-style: none;
    background: #f8d7da;
    color: #842029;
    border-left: 4px solid #dc3545;
    border-radius: 4px;
    font-size: 15px;
}

.woocommerce-error li {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 10px;
}

/*.woocommerce-account .woocommerce .woocommerce-MyAccount-content p:last-of-type {*/
/*    margin: 16px 10px;*/
/*}*/

/*.woocommerce-notices-wrapper>.woocommerce-error{*/
/*    padding: 0;*/
/*}*/

.woocommerce-error p {
    margin: 0;
    color: inherit;
}

.woocommerce-error a {
    color: #842029;
    text-decoration: underline;
}

.woocommerce-error:focus {
    outline: none;
}

/*.woocommerce-notices-wrapper>.woocommerce-error:before{*/
/*    margin-top:1rem !important;*/
/*}*/

/* Tablet */
@media (max-width:1024px){
    .woocommerce-address-fields__field-wrapper{
        grid-template-columns:repeat(2,1fr);
        gap:16px;
    }
}

/* Mobile */
@media (max-width:767px){
    .woocommerce-address-fields__field-wrapper{
        grid-template-columns:1fr !important;
        gap:15px !important;
    }

    .woocommerce-address-fields__field-wrapper .form-row-wide{
        grid-column:auto;
    }

    .woocommerce-address-fields button.button{
        width:100%;
    }
}
/* Address nickname: always first, full width (My Account edit / add address) */
#billing_address_nickname_field,
#shipping_address_nickname_field{
    display:block !important;
    grid-column:1 / -1 !important;
    order:-1 !important;
}

/* Required field left empty: red border; back to normal once filled */
.woocommerce-address-fields__field-wrapper .form-row.wab-invalid input.input-text,
.woocommerce-address-fields__field-wrapper .form-row.wab-invalid select,
.woocommerce-address-fields__field-wrapper .form-row.wab-invalid .select2-selection{
    border-color:#d63638 !important;
}
.woocommerce-address-fields__field-wrapper .form-row.wab-invalid label{
    color:#d63638;
}

/* ---------- v1.1.0: AJAX address form feedback ---------- */

/* Small message under an invalid field */
.woocommerce-address-fields__field-wrapper .form-row .wab-field-error{
    display:block;
    margin-top:6px;
    font-size:13px;
    line-height:1.4;
    color:#d63638;
}

/* Error / info box shown above the form (server or client validation) */
.wab-form-notices:empty{
    display:none;
}
.wab-form-notices{
    grid-column:1 / -1;
    margin:0 0 20px;
    outline:none;
}
.wab-form-notices ul.woocommerce-error,
.wab-form-notices ul.woocommerce-message{
    margin:0;
    padding:12px 18px !important;
    list-style:none;
    display:block;
}
.wab-form-notices ul.woocommerce-error::before,
.wab-form-notices ul.woocommerce-message::before{
    display:none !important;
}
.wab-form-notices ul li{
    margin:2px 0;
    padding:0;
    list-style:none;
}

/* Save button while the AJAX request is running */
.woocommerce-address-fields button.button.wab-loading,
.woocommerce-address-fields input.button.wab-loading{
    opacity:.75;
    cursor:wait;
    pointer-events:none;
}
.woocommerce-address-fields button.button.wab-loading::after{
    content:"";
    display:inline-block;
    width:14px;
    height:14px;
    margin-left:10px;
    vertical-align:-2px;
    border:2px solid currentColor;
    border-right-color:transparent;
    border-radius:50%;
    animation:wab-spin .7s linear infinite;
}
@keyframes wab-spin{
    to{ transform:rotate(360deg); }
}

/* Phone is required: never show the "(optional)" tag on it */
#billing_phone_field label .optional,
#shipping_phone_field label .optional{
    display:none !important;
}
