/* Nice Select Custom Styles */
.nice-select {
    width: 100%;
    border: 1px solid #DDD;
    border-radius: 12px;
    padding: 10px 40px 10px 15px;
    font-size: 16px;
    line-height: 1.5;
    height: auto;
    margin-bottom: 20px;
}

.nice-select:hover {
    border-color: #FEE347;
}

.nice-select:focus,
.nice-select.open {
    border-color: #FEE347;
    box-shadow: 0 0 0 2px rgba(254, 227, 71, 0.2);
}

.nice-select .list {
    width: 100%;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    max-height: 300px;
    overflow-y: auto;
}

.nice-select .option {
    padding: 10px 15px;
    font-size: 14px;
    line-height: 20px;
}

.nice-select .option:hover,
.nice-select .option.focus {
    background-color: #FFF9EC;
}

.nice-select .option.selected {
    background-color: #FEE347;
    font-weight: 600;
}

.nice-select:after {
    border-color: #042656;
    right: 15px;
}

/* Field description text */
.field-description {
    font-size: 13px;
    color: #666;
    margin-bottom: 10px;
    margin-top: 5px;
}

.pupid_field {
    margin-bottom: 20px;
}

.pupid_field label {
    font-weight: 600;
    margin-bottom: 10px;
}

.pupid_required {
    color: red;
    margin-left: 5px;
}

.pupid_user_data_entry p {
    border: 1px solid #DDD;
    padding: 10px;
    margin-bottom: 0;
    border-radius: 0;
    border-bottom: 0;
}

/*.pupid_form_wrapper .pupid_field input,*/
/*.pupid_form_wrapper .pupid_field select,*/
/*.tag_activation_form_wrapper input {*/
/*	border: 2px solid #FEEA71 !important;*/
/*	border-radius: 4px !important;*/
/*}*/

.pupid_field.pup-global-img input[type='file'] {
    width: -webkit-fill-available !important;
}

.pupid_form_wrapper form h3 {
    font-size: 24px;
    font-weight: 900;
    line-height: 1.4em;
    margin-bottom: 20px;
}

#edit-profile-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: none;
    overflow-y: auto;
}

.form-overlay::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
}

.pupid-edit-profile-card {
    max-width: 520px;
    margin: 0 auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    padding-left: 15px;
    padding-right: 15px;
}

.pupid-edit-profile-card .pupid-edit-profile__card {
    background: #FFF;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    max-height: 85dvh;
    overflow-y: scroll;
    scrollbar-width: none;
}

.pupid-edit-profile__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #F0F0F0;
    position: relative;
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    background: #FFF;
    z-index: 2;

    .pupid-edit-profile__title {
        font-size: 24px;
        font-weight: 700;
        color: #042656;
        margin: 0;
    }

    .pupid-edit-profile__close {
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0;
        right: 0;
        background-color: #FEE444;
        border-radius: 0 20px 0 20px;

        &:hover,
        &:focus {
            color: #042656;
        }
    }
}

.pupid-edit-profile__card {
    .pup-field-label {
        display: block;
        font-size: 13px;
        font-weight: 600;
        color: #042656;
        margin-bottom: 6px;
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    }

    .cp-gallery-row {
        .pup-photo-preview-wrap {
            border: none !important;

            .pup-photo-preview {
                border: none !important;
            }
        }
    }

    .nice-select {
        margin-bottom: 0;
    }
}

.pupid-edit-profile__title {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0;
}

.pupid-edit-profile__close {
    background: none;
    border: none;
    color: #999;
    cursor: pointer;
    padding: 4px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, color 0.2s;
}

.pupid-edit-profile__close:hover {
    background: #FEE347;
    color: #333;
}

#edit-profile-modal #edit-fields {
    padding: 16px 20px;
}

.pupid-location-history-body {
    padding: 16px 20px;
}

.pupid-location-history-body .location-history-table {
    width: 100%;
    border-collapse: collapse;
}

.pupid-location-history-body .location-history-table td,
.pupid-location-history-body .location-history-table th {
    padding: 8px 10px;
    font-size: 13px;
}

.pupid-edit-profile__footer {
    padding: 12px 20px 20px;
    border-top: 1px solid #F0F0F0;
    position: sticky;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #FFF;
    z-index: 1000;
    display: flex;
    gap: 10px;

    .pupid-edit-profile__btn {
        width: 100%;
        padding: 14px !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        border-radius: 40px;

        &:hover,
        &:focus {
            background: var(--pup-yellow-dark);
            color: #000000;
        }

        &:active {
            background: var(--pup-yellow-dark);
            color: #000000;
        }

        &.pupid-edit-profile__delete-btn {
            background: #FF543D !important;
            border-color: #FF543D;
            color: #FFF !important;

            &:hover,
            &:focus {
                border-color: #042656;
            }
        }
    }
}



.pupid-edit-section {
    margin-bottom: 20px;
}

.pupid-edit-section:last-child {
    margin-bottom: 0;
}

.pupid-edit-section__title {
    font-size: 15px;
    font-weight: 700;
    color: #333;
    margin: 0 0 12px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid #F0F0F0;
}

#edit-fields .pup-field-textarea {
    resize: vertical;
    min-height: 60px;
    line-height: 1.5;
}

#edit-fields .pup-input-suffix-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

#edit-fields .pup-input-suffix-wrap .pup-field-input {
    padding-right: 46px;
}

#edit-fields .pup-input-suffix {
    position: absolute;
    right: 14px;
    font-size: 13px;
    font-weight: 600;
    color: #8A93A8;
    pointer-events: none;
}

#edit-fields .pup-gender-toggle {
    display: flex;
    border-radius: 14px;
    gap: 30px;
}

#edit-fields .pup-gender-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    border: 2px solid #042656;
    background: transparent;
    color: #042656;
    transition: background 0.22s ease, color 0.22s ease;
    padding: 12px 16px;
    border-radius: 14px;
    font-family: inherit;
}

#edit-fields .pup-gender-icon {
    font-size: 16px;
    line-height: 1;
}

#edit-fields .pup-gender-btn.is-selected {
    box-shadow: inset 0 0 0 1.5px rgba(247, 183, 49, 0.5);
}

#edit-fields .pup-gender-btn--male:hover,
#edit-fields .pup-gender-btn--male.is-selected {
    color: #1A6BBF;
    background: linear-gradient(135deg, #EEF5FF, #D6E8FF);
    box-shadow: inset 0 0 0 1.5px rgba(66, 133, 244, 0.3);
    border-color: #D6E8FF;
}

#edit-fields .pup-gender-btn--female:hover,
#edit-fields .pup-gender-btn--female.is-selected {
    color: #C0306B;
    background: linear-gradient(135deg, #FFF0F6, #FFD6E8);
    box-shadow: inset 0 0 0 1.5px rgba(236, 64, 122, 0.3);
    border-color: #FFD6E8;
}

.missing-popup-form .missing-form {
    display: flex;
    gap: 35px;
}

#go-to-map {
    padding: 8px 15px !important;
    font-size: 14px !important;
    margin-bottom: 20px;
}

.pet-profile-wrap {
    display: flex;
    gap: 20px;
}

.guardian-details-wrap .guardian-list,
.pet-missing-wrap .guardian-list {
    list-style: none;
    padding-left: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.guardian-details-wrap .guardian-list li {
    display: flex;
    gap: 10px;
}

.guardian-details-wrap .guardian-list li:first-child svg {
    width: 15px;
    height: 18px;
    fill: #FF543D;
}

.guardian-details-wrap .guardian-list .guardian-list-text {
    font-size: 15px;
    line-height: 1.2;
}

.profile-input-field-wrap .list-value,
.missing-pet-information .list-value {
    list-style: none;
    padding-left: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    row-gap: 10px;
}

.pup-profile-id {
    margin-top: 0;
}

.profile-input-field-wrap .list-value-title,
.guardian-details-wrap h3.guardian-title {
    font-size: 24px;
    font-weight: 900;
    line-height: 1.4em;
    margin-bottom: 10px;
}

.pet-profile-wrap {
    background-color: transparent;
    background-image: linear-gradient(180deg, #FFF 0%, #FEE444 100%);
    padding: 20px;
    border-radius: 18px;
    width: fit-content;
    border: solid #FEE444;
    position: relative;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5) inset;
    margin: auto;
}

.input_field_name {
    color: #042656;
    font-weight: 700;
    font-size: 16px;
    line-height: 29px;
}

.pet-profile-wrap .profile-image img,
.pet-missing-wrap .missing-pet-img img {
    border-radius: 20px;
    border: solid #FEE444;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
}

.pet-details .pup-profile-id {
    font-size: 26px;
    font-weight: 700;
}

.missing-poster-footer .site-logo img {
    width: 80px;
}

.missing-poster-footer p {
    font-size: 18px !important;
    line-height: 29px !important;
    color: #042656 !important;
    margin-bottom: 0 !important;
}

.pet-missing-wrap {
    width: 840px;
    position: absolute;
    top: -100vh;
    left: -100vw;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
    z-index: 30;
    padding: 80px 25px 40px 40px;
    background-repeat: no-repeat;
    background-size: cover;
    display: none;

    .missing-poster-bg {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        z-index: 1;

        img {
            width: 100%;
            height: 100%;
        }
    }

    .missing-all-info-wrap {
        position: relative;
        z-index: 2;
    }

    .missing-pet-title {
        font-size: 70px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        color: #000 !important;
        margin-bottom: 0 !important;
    }

    .profile-image {
        padding: 10px;
        background: #FFF;
        display: flex;
        border-radius: 20px;

        img {
            height: 200px;
            max-width: 200px;
            width: 100%;
        }
    }

    .missing-poster-top {
        display: flex;
        gap: 20px;
        align-items: center;
        justify-content: space-between;
    }

    .bg-text {
        position: relative;
        z-index: 1;
        color: #FFF;
        display: inline-block;

        &:before {
            background: #FF5A46;
            content: '';
            position: absolute;
            height: 100%;
            width: 124%;
            left: -40px;
            top: 50%;
            z-index: -1;
            transform: translateY(-50%);
            /*-moz-transform: translateY(-57%);*/
        }
    }

    .pet-section-title {
        font-size: 36px !important;
        line-height: 1.2 !important;
        margin: 0 !important;
        text-transform: uppercase !important;
        letter-spacing: -1.8px;
        position: relative;
        display: inline-block;
        z-index: 2;

        &:before {
            position: absolute;
            content: '';
            background: #FEE347;
            width: 100%;
            height: 6px;
            bottom: 10px;
            z-index: -1;
        }
    }

    .guardian-list {
        padding-top: 30px;
        display: flex;
        flex-direction: column;
        gap: 15px;
        width: 390px;

        li {
            background: linear-gradient(90deg,
                    rgba(254, 228, 68, 1) 0%,
                    rgba(255, 255, 255, 1) 100%) padding-box,
                linear-gradient(to right, #FF5841, #FEE347) border-box;
            display: flex;
            align-items: center;
            gap: 10px;
            border-radius: 50px 0 0 50px;
            padding-left: 15px;
            padding-right: 15px;

            .guardian-list-icon {
                background: #FF5841;
                background: linear-gradient(90deg,
                        rgba(255, 88, 65, 1) 0%,
                        rgba(254, 227, 71, 1) 100%);
                padding: 10px;
                border-radius: 50%;
                display: flex;
                align-items: center;
                overflow: hidden;

                svg {
                    width: 30px;
                    height: 30px;

                    path {
                        fill: #FFF;
                    }
                }
            }

            .guardian-list-text {
                font-size: 18px;
            }
        }
    }

    .missing-poster-footer-text {
        p {
            font-size: 18px !important;
            color: #000 !important;
        }

        .bg-text-2 {
            position: relative;
            color: #FFF;
            display: inline-block;

            &:before {
                background: #FF5A46;
                content: '';
                position: absolute;
                height: 100%;
                width: 105%;
                left: -5px;
                top: 50%;
                z-index: -1;
                transform: translateY(-50%);
            }

            &.bg-text-3 {
                &:before {
                    left: -3px;
                    width: 115%;
                }
            }
        }
    }

    .missing-poster-right {
        width: 280px;
        text-align: center;
    }

    .missing-poster-footer {
        display: flex;
        gap: 20px;
        align-items: center;
        justify-content: space-between;
    }

    .list-value {
        padding-top: 20px;

        .input_field_name {
            color: #000;
            font-weight: 700;
            font-size: 18px;
            line-height: 30px;
        }

        .input_field_value {
            font-size: 18px;
        }
    }

    .missing-poster-footer {
        padding-top: 40px;
    }
}

.pet-missing-wrap .missing-pet-information-wrap {
    display: flex;
    gap: 20px;
    padding: 20px;
}

.missing-pet-title {
    margin: 0;
    color: #042656 !important;
    font-size: 26px !important;
    line-height: 31px !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
}

.pet-section-title {
    font-size: 24px !important;
    line-height: 34px !important;
    font-weight: 900 !important;
    color: #042656 !important;
    margin-bottom: 10px !important;
}

.missing-pet-information .guardian-list {
    list-style: none;
    padding-left: 0;
    display: flex;
    gap: 10px;
    flex-direction: column;
}

.edit-profile-modal .pet-missing-from {
    display: flex;
    gap: 10px;
}

.edit-profile-modal .pet-missing-from input {
    width: 20px !important;
    height: 20px !important;
}

.pupid_form_wrapper form {
    padding: 20px;
    background: #FFF;
    border-radius: 20px;
    position: relative;
    width: 100%;
    /*max-width: 670px;*/
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.pmpro_card .pmpro_list {
    list-style: square inside;
    padding-left: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pmpro_card .pmpro_list a {
    text-decoration: none;
    color: #042656;
    font-weight: 600;
    font-size: 20px;
    transition: all 0.3s ease;
}

.pmpro_card .pmpro_list a:hover {
    color: #FF543D;
}

.tags-table .tag-transfer-btn-wrap,
.tags-table tr {
    text-align: center;
}

table tbody>tr:nth-child(odd)>td,
table tbody>tr:nth-child(odd)>th {
    background: transparent !important;
}

#my-pup-tags .tags-table,
.manage-tags .tags-table {
    border-top: 1px solid #E8E8E8;
}

.tags-table thead th {
    border-block-start: none !important;
}

#my-pup-tags .tags-table tr :is(th, td),
.manage-tags .tags-table tr :is(th, td) {
    border: none;
}

#my-pup-tags .tags-table tr,
.manage-tags .tags-table tr {
    border-bottom: 1px solid #E8E8E8;
}

.manage-tags {
    tbody {
        td {
            vertical-align: middle;
        }
    }

    .pup_profile_selector {
        margin-bottom: 0;
    }
}

table {
    margin-bottom: 0 !important;
}

table tbody tr:hover>td,
table tbody tr:hover>th {
    background: transparent !important;
}

.manage-tags .tags-table select {
    border-color: #E8E8E8;
    cursor: pointer;
    width: 200px;
    text-align: center;
}

.tags-table .profile-select-option {
    display: flex;
    justify-content: center;
}

#my-pup-tags .tags-table tr td {
    border-color: #E8E8E8;
}

.tags-table .transfer_tag_button,
.tags-table .delete_tag_button {
    padding: 10px 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.pet-location-history-wrap {
    background: #FFF;
    width: 610px;
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    display: none;
    overflow: auto;
    margin: 30px auto 0;
    position: relative;
}

.pet-location-history-wrap .pet-section-title {
    text-align: center;
}

.location-history-table {
    width: 550px;
    border-collapse: collapse;
}

.location-history-table td {
    vertical-align: middle;
    text-align: center;
    padding: 10px 15px;
}

.wp-block-woocommerce-cart.alignwide {
    max-width: 1140px;
    margin: 0 auto;
    padding: 20px;
}

.accordion-container {
    /* display: grid; */
    width: 100%;
    overflow-y: scroll;
    margin-top: 80px;
    height: 100%;
    position: relative;
}

.accordion-left {
    background-color: #FFF;
    /*box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);*/
    z-index: 11;
    position: fixed;
    top: 0;
    /*height: calc(100vh - 80px);*/
    height: 100%;
    overflow-y: auto;
    left: 0;
    width: 270px;
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.044),
        0 2px 6px 0 rgba(0, 0, 0, 0.049);
    border-right: 1px solid #E8E8E8;
}

.accordion-left::-webkit-scrollbar {
    width: 0;
}

.accordion-left::-webkit-scrollbar,
.accordion-container::-webkit-scrollbar {
    width: 0;
}

.dashboard-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 30px;
    background-color: #FFF;
    box-shadow: 0 1px 4px 0 rgba(82, 63, 105, 0.15);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 102;
}

.dashboard-header.header-login {
    justify-content: flex-end;
    padding: 20px 30px;
}

.accordion-right .pup-logout {
    background-color: #FFF;
    height: 80px;
    position: fixed;
    left: 270px;
    right: 0;
    top: 0;
    padding: 0 1.5rem;
    z-index: 10;
    transition: ease-out 0.3s;
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.044),
        0 2px 6px 0 rgba(0, 0, 0, 0.049);
    align-content: center;
    text-align: end;
}

.pupid-dashboard-login {
    max-width: 600px;
    margin: 100px auto 0;
    width: 100%;
}

.admin-bar .dashboard-header,
.admin-bar .accordion-right .pup-logout,
.admin-bar .accordion-left .pup-logo {
    top: 30px;
}

.admin-bar .accordion-left {
    top: 30px;
    height: calc(100vh - 30px);
}

.pup-logo img {
    width: 70px;
    display: block;
}

.accordion-right .pup-logout .btn-style,
.dashboard-header .btn-style {
    background-color: #FF543D;
    color: #FFF;
    font-size: 18px;
    font-weight: 700;
}

.accordion-right {
    background-color: #FFF9EC;
    /*padding: 20px;*/
    width: calc(100% - 270px);
    margin-left: 270px;
    height: calc(100vh - 80px);
    overflow-y: auto;

    .accordion-content {
        padding: 20px;
    }
}

#my-pup-profiles {
    padding: 0;

    .section-title {
        padding: 20px 20px 0;
    }
}

.admin-bar .accordion-right {
    height: calc(100vh - 112px);
}

.accordion-right::-webkit-scrollbar {
    width: 0;
}

.accordion-heading {
    padding: 10px 30px;
    /*background-color: #fff9ec;*/
    margin: 0 !important;
}

.accordion-heading h3 {
    font-size: 18px !important;
    margin: 0 !important;
    font-weight: 800 !important;
}

.dashboard-menu-items {
    list-style: none;
    padding: 0 30px 10px 30px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.dashboard-menu-item {
    font-size: 15px;
    color: #5F5F5F;
    cursor: pointer;
    transition: color 0.3s ease;
    font-weight: 600;
}

.dashboard-menu-item:hover,
.dashboard-menu-item.active {
    color: #FF543D;
}

.dashboard-menu-item:hover {
    color: #FF543D;
}

.dashboard-menu-item .dashboard-icon svg {
    display: inline-block;
    vertical-align: text-top;
}

.dashboard-menu-item .dashboard-icon:not(.dashboard-icon2) svg path {
    fill: #5F5F5F;
    transition: all 0.3s ease;
}

.dashboard-menu-item .dashboard-icon2 svg path {
    stroke: #5F5F5F;
    transition: all 0.3s ease;
}

.dashboard-menu-item.active .dashboard-icon:not(.dashboard-icon2) svg path,
.dashboard-menu-item:hover .dashboard-icon:not(.dashboard-icon2) svg path {
    fill: #FF543D;
}

.dashboard-menu-item.active .dashboard-icon2 svg path,
.dashboard-menu-item:hover .dashboard-icon2 svg path {
    stroke: #FF543D;
}

.accordion-content {
    display: none;
    font-size: 16px;
    color: #333;
}

.accordion-content.active {
    display: block;
}

.pup-card {
    background: #FFF;
    padding: 20px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 20px;
}

.pmpro_card,
.pupid_form_wrapper form {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
    border-radius: 20px !important;
}

.my-tags tr td {
    text-align: center;
}

.accordion-content .pupid_form_wrapper form {
    margin: auto;
}

.pmpro_card .pmpro_card_title {
    color: #042656;
}

.manage-membership .pmpro_btn.pmpro_btn-select {
    background: #FF543D;
    border-color: #FF543D;
}

.manage-membership .pmpro_btn.pmpro_btn-select:hover {
    background: #042656 !important;
    border-color: #042656 !important;
}

/* ── Plan selection Select button inside Wizard (Screen 4) ── */
#pup-screen-4 .pmpro_btn.pmpro_btn-select,
#pup-screen-4 a.pmpro_btn-select {
    color: #042656 !important;
}

#pup-screen-4 .pmpro_btn.pmpro_btn-select:hover,
#pup-screen-4 a.pmpro_btn-select:hover {
    box-shadow: 0 6px 18px rgba(247, 183, 49, 0.5);
    color: #042656 !important;
    text-decoration: none;
}

.pup-mobile-menu {
    display: none;
}

.pup-mobile-menu h3 {
    margin: 0 !important;
    color: #FFF !important;
}

.mobile-menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 20px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0 !important;
    background: transparent !important;
}

.toggle-icon {
    display: block;
    width: 100%;
    height: 3px;
    background: #042656;
    transition: all 0.3s ease;
}

.mobile-menu-route {
    background: #FFF;
    width: max-content;
    box-shadow: 0 1px 4px 0 rgba(82, 63, 105, 0.15);
}

.mobile-right-menu {
    position: relative;
    z-index: 10;
}

.mobile-right-menu .mobile-menu-route {
    position: absolute;
    right: -30px;
    height: calc(100vh - 150px);
    transition: height 01.5s ease;
    opacity: 0;
    visibility: hidden;
    overflow-y: scroll;
}

.mobile-menu-active .mobile-right-menu .mobile-menu-route {
    opacity: 1;
    visibility: visible;
}

.accordion-left .pup-logo {
    display: flex;
    justify-content: center;
    height: 80px;
    padding: 0 10px;
    align-items: center;
    position: fixed;
    z-index: 10;
    top: 0;
    background: #FFF;
    width: 270px;
}

.accordion-left .pup-logo img {
    width: 70px;
}

.accordion-left .menu-items {
    margin-top: 80px;
}

.close-icon {
    display: none;
}

.mobile-logo {
    display: none;
}

.accordion-content .section-title,
.pmpro_section_title {
    font-weight: 400 !important;
}

.pup-cancel-membership .pmpro_level-price {
    margin-top: 0 !important;
}

.pup-my-account #pmpro_account-membership .pmpro_card_actions span:not(:first-child) {
    display: none;
}

.tag-active-guide {
    margin-top: 30px;
}

.pup-guide-section {
    padding: 20px;
    background: #FFF;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
    border-radius: 20px !important;
    margin-bottom: 30px;
}

.tag-active-guide .pup-guide-section-title {
    font-size: 20px;
    line-height: 24px;
    font-weight: 900;
    font-style: italic;
    color: #042656;
}

.tag-active-guide .pup-guide-text {
    font-size: 18px;
    line-height: 29px;
    color: #042656;
}

.pup-section-separator .pup-separator-icon svg {
    width: 20px;
    height: 20px;
}

.tag-details-wrap .pup-pet-profile-wrap {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.tag-details-wrap {
    .pup-pet-profile-left.pup-col {
        position: relative;
    }
}

.pup-pet-profile-wrap {
    position: relative;
}

.pup-col {
    width: 60%;
}

#my-pup-profiles .pup-col {
    width: 40%;
}

.pup-pet-profile-wrap .swiper img {
    width: 100%;
    min-height: 350px;
}

.pup-pet-profile-wrap .swiper-pagination {
    display: flex;
    justify-content: center;
    bottom: 64px;
}

.pup-pet-profile-wrap .swiper-pagination span {
    width: 25%;
    height: 4px;
    border-radius: 12px;
    background: #D9D9D9;
    opacity: 1;
}

.pup-pet-profile-wrap .swiper-pagination .swiper-pagination-bullet-active {
    background: #FEE444;
}

.tag-details-wrap .pup-vital-info-wrapper {
    width: 100%;
    background: transparent;
    background: linear-gradient(to right, #FFF093, #FFF);
    border-radius: 20px 20px 0 0;
    padding: 20px;
    overflow: hidden;
    position: relative;
    z-index: 9;
}

.tag-details-wrap .info-wrap {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    margin-top: -48px;
}

.pup-pet-profile-title-wrap .pup-pet-name {
    font-size: 55px !important;
    font-weight: 400 !important;
    margin-bottom: 0 !important;
}

.pup-pet-profile-title-wrap .pup-pet-breed {
    font-size: 35px !important;
    font-weight: 400 !important;
    margin: 0 !important;
}

.pup-pet-profile-vital-info {
    display: flex;
    margin-top: 40px;
    gap: 20px;
    justify-content: space-between;
}

.pup-pet-profile-vital-info .pet-pup-profile-info-wrap {
    text-align: center;
    background: #FFF9EC;
    border-radius: 20px;
    padding: 10px 20px;
    box-shadow: 0 0 8px 3px rgba(0, 0, 0, 0.4);
    min-width: 30%;
    border: 3px solid #FEE444;
}

.pup-pet-profile-vital-info .pet-pup-profile-info-wrap .pet-pup-icon {
    display: flex;
    justify-content: center;
    margin-bottom: 5px;
}

.pup-pet-profile-vital-info .pet-pup-profile-info-wrap svg {
    width: 40px !important;
    height: auto !important;
}

.pup-pet-profile-vital-info .pet-pup-info-title {
    font-size: 24px !important;
    font-weight: 400 !important;
    color: #042656;
}

.pup-pet-other-info-wrap .pup-accordion-item-header,
.pup-pet-other-info-wrap .pup-accordion-item-header .pup-accordion-item-header-icon-wrap,
.pup-pet-other-info-wrap .pup-accordion-item-header .pup-aih-icon,
.pup-pet-other-info-wrap .pup-ahi-dropdown {
    display: flex;
    align-items: center;
}

.pup-accordion-item-header-icon-wrap {
    gap: 15px;
}

.pup-pet-other-info-wrap .pup-accordion-item-header {
    width: 100%;
    justify-content: space-between;
    align-items: center;
    padding-right: 20px;
    border: 2px solid transparent;
    /*border-image: linear-gradient(to right, #ff5841, #fee347) 1;*/
    /*background: transparent;*/
    /*background: linear-gradient(90deg,rgba(254, 228, 68, 1) 0%, rgba(255, 255, 255, 1) 100%);*/
    border-radius: 50px;
    background: linear-gradient(90deg,
            rgba(254, 228, 68, 1) 0%,
            rgba(255, 255, 255, 1) 100%) padding-box,
        linear-gradient(to right, #FF5841, #FEE347) border-box;
    cursor: pointer;
    gap: 10px;
    -webkit-tap-highlight-color: transparent;
}

.pup-pet-other-info-wrap .pup-accordion-item-header .pup-aih-icon {
    background: #FFF;
    padding: 10px;
    border-radius: 50%;
}

.pup-pet-other-info-wrap .pup-accordion-item-header .pup-aih-icon svg {
    width: 40px;
    height: 40px;
}

.pup-pet-other-info-wrap .pup-accordion-item-header .pup-ahi-title {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    color: #042656;
}

.pup-info-list {
    margin-top: 30px;
    margin-left: 20px;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding-left: 0;
}

.pup-accordion-item-content .about-pet {
    margin-top: 30px;
    margin-left: 20px;
}

.pup-info-list li,
.pup-accordion-item-content .about-pet {
    border-radius: 50px;
    background: linear-gradient(-90deg,
            rgba(254, 228, 68, 1) 0%,
            rgba(255, 255, 255, 1) 100%) padding-box,
        linear-gradient(to right, #FF5841, #FEE347) border-box;
    border: 2px solid transparent;
    font-size: 24px;
    color: #042656;
    padding: 14px 20px;
    font-weight: 400;
    line-height: 1.2;
}

.pup-accordion-item-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.pup-pet-other-info-wrap {
    position: relative;
    /*box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);*/
}

.pup-pet-other-info-wrap .accordion-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    z-index: 1;
    padding: 80px;
}

.img-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.img-overlay img {
    width: 100% !important;
    height: 100% !important;
}

.pup-accordion-item .pup-ahi-dropdown {
    transition: transform 0.3s ease;
}

.pup-accordion-item.active .pup-ahi-dropdown {
    transform: rotate(180deg);
    transition: transform 0.3s ease;
}

.pup-burger-menu {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 20;

    .pup-menu-item {
        position: absolute;
        list-style: none;
        background: #FFF093;
        padding: 10px 20px;
        right: 0;
        border-radius: 10px 0 0 10px;
        display: none;

        &.open {
            display: block;
        }

        a {
            color: #042656;
            font-weight: 600;
            font-size: 18px;
            text-decoration: none;
        }
    }

    .burger-menu-icon {
        background: #FFF093;
        padding: 5px;
        border-bottom-left-radius: 20px;
        cursor: pointer;

        svg {
            width: 40px;
            height: 40px;
        }
    }
}

.elementor-widget-container>br {
    display: none;
}

.pup-input-label {
    font-weight: 700;
}

.show-all-pup-profiles {
    display: flex;
    gap: 40px;
    flex-direction: column;

    .pup-pet-profile-wrap {
        display: flex;
        width: 100%;
        background: linear-gradient(to right, #FEE444, #FFF);
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        /*border-radius: 20px;*/
        padding: 50px;
        gap: 60px;

        .pet-profile-left {
            width: 38%;
            margin-right: 30px;
        }

        .swiper-pagination {
            gap: 30px;
            bottom: 30px;

            span {
                width: 20%;
            }
        }
    }

    .pet-pup-info-title {
        font-size: 18px !important;
    }

    .swiper {
        .swiper-slide {
            img {
                border-radius: 20px;
                border: 3px solid #FEE444;
                height: auto;
            }
        }
    }

    .pup-pet-other-info-wrap {
        .accordion-list {
            padding: 30px 0;
            gap: 12px;
        }

        .pup-accordion-item-header {
            .pup-ahi-title {
                font-size: 20px;
            }
        }
    }

    .pup-info-list li,
    .pup-accordion-item-content .about-pet {
        font-size: 20px;
    }

    .pup-pet-profile-vital-info {
        margin-top: 20px;
    }
}

.pet-name-mobile {
    display: none;
}

.pup-active-menu {
    position: absolute;
    right: 0;
    display: none;

    &.open {
        display: block;
    }

    ul {
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 15px;
        background: #FFF093;
        border-radius: 20px 0 0 20px;

        li {
            a {
                color: #000;
                transition: all 0.3s;
            }

            &:hover {
                a {
                    color: #FF543D;
                }
            }
        }
    }
}

.pup-section-separator {
    position: relative;
    text-align: center;
    margin: 30px 0;

    &:before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        height: 1px;
        background: #FEE444;
        display: inline-block;
        /* width: 45%; */
        /* vertical-align: middle; */
        top: 50%;
        transform: translateY(-50%);
    }

    .pup-separator-icon {
        display: inline-block;
        position: relative;
        z-index: 1;
        background-color: #FFF;
        width: 40px;
    }

    /* &:before{
                    top: 0;
                }

                &:after{
                    bottom: 0;
                } */
}

.error-message {
    font-weight: 400 !important;
    margin-top: 20px !important;
}

.tag-activation-guide-wrap {
    margin-top: 30px;
}

.pmpro-has-access {
    padding: 0 15px;
}

.pup-contact-details,
.pup-contact-info-wrapper {
    #pupid_contact_form {
        max-width: 100%;
    }

    .pupid_field {
        display: flex;
        flex-direction: column;
        gap: 10px;

        label {
            margin-bottom: 5px;
        }
    }
}

/* Membership Toggle Styles */
.pupid-billing-toggle-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
    margin-top: 20px;
}

.pupid-billing-toggle {
    display: inline-flex;
    background-color: #fede07;
    padding: 6px;
    border-radius: 60px;
    position: relative;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    /* Soft outer shadow */
    border: 1px solid #000;
}

.pupid-billing-option {
    padding: 12px 35px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    border-radius: 50px;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    color: #000;
    user-select: none;
    position: relative;
    z-index: 1;
    line-height: 1;
}

.pupid-billing-option:hover {
    color: #000;
    background-color: rgba(255, 84, 61, 0.05);
    /* Very subtle hover state */
}

.pupid-billing-option.active {
    background-color: #fff;
    color: #000;
    /* Glow effect */
    transform: translateY(-1px);
    /* Slight lift */
}

.pup_pmpro_section {
    .pmpro_levels_table {
        thead {
            th {
                border-top: none !important;
            }
        }
    }
}

.pmpro_actions_nav {
    .pmpro_actions_nav-right {
        a {
            padding: 8px 15px !important;
            border-radius: 4px !important;
            cursor: pointer;
            font-size: 16px !important;
            display: inline-flex;
            align-items: center;
            gap: 5px;
            transition: all 0.3s;
            text-decoration: none;
            display: inline-block;
            visibility: hidden;
            /* Hide initially to prevent text flicker */

            &:hover {
                background: #FEE444 !important;
                color: #042656 !important;
                border-color: #042656 !important;
            }
        }
    }

    .pmpro_actions_nav-left {
        display: none;
    }
}

.pup-timezone-settings {
    .nice-select {
        margin-bottom: 20px;
    }

    .current {
        color: #333;
    }
}

.wc-blocks-components-select__container {
    svg {
        display: none;
    }

    .nice-select {
        margin-bottom: 0;
        clear: none;
        display: block;
        float: none;
    }

    .nice-select:focus,
    .nice-select.open {
        box-shadow: none;
    }
}

* {
    -webkit-tap-highlight-color: transparent;
}


/* Save Button Animation Styles */
.pupid_submit input[type='submit']:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.pupid_submit input[type='submit'].saving {
    position: relative;
    pointer-events: none;
    opacity: 0.8;
}

.pupid_submit input[type='submit'].saving::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    border: 2px solid transparent;
    border-top-color: #042656;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

.pupid_submit input[type='submit'].saved {
    pointer-events: none;
}

@keyframes spin {
    0% {
        transform: translateY(-50%) rotate(0deg);
    }

    100% {
        transform: translateY(-50%) rotate(360deg);
    }
}

/* =============================================
   Product Showcase Shortcode Styles
   ============================================= */

.pupid-product-showcase {
    /*display: grid;*/
    /*grid-template-columns: 1fr 460px;*/
    gap: 30px;
    /*min-height: 600px;*/
    /*overflow: hidden;*/
    display: flex;
}

/* Left Section - Features */
.pupid-feature-section {
    padding: 30px;
    transition: background 0.5s ease;
    position: relative;
    /*overflow: hidden;*/
    border: 4px solid #042656;
    border-radius: 19px;
    /*height: max-content;*/
    width: calc(100% - 490px);
}

.pupid-feature-swiper .swiper-slide {
    height: auto;
    align-items: center;
}

.pupid-feature-slide {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.pupid-swiper-pagination {
    position: relative !important;
    margin-top: 20px;
    bottom: 0 !important;
}

.pupid-swiper-pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: rgba(255, 255, 255, 0.5);
    opacity: 1;
    transition: all 0.3s ease;
}

.pupid-swiper-pagination .swiper-pagination-bullet-active {
    background: #FFF;
    transform: scale(1.2);
}

/* Navigation Arrows */

.pupid-product-showcase .pupid-swiper-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    color: #FFF;
    border: 2px solid #000;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    padding: 0;
    line-height: 1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;

    &.pupid-swiper-next {
        right: 0;
    }

    &.pupid-swiper-prev {
        left: 0;
    }
}

.pupid-swiper-btn:hover {
    background: rgba(255, 255, 255, 0.4);
}

.pupid-swiper-btn i {
    font-size: 16px;
    line-height: 1;
}

.pupid-swiper-btn svg {
    width: 1em;
    height: 1em;
    fill: #000;
}

/* First Slide Special Layout */
.pupid-first-slide {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
}

.pupid-first-slide-left {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/*.pupid-content-card {*/
/*    flex: 1;*/
/*    padding: 30px;*/
/*    text-align: center;*/
/*}*/

.pupid-content-card .pupid-feature-title {
    font-size: 22px;
    margin-bottom: 15px;
}

.pupid-content-image {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    opacity: 0.3;
}

.pupid-variant-card {
    background: rgba(255, 255, 255);
    border-radius: 20px;
    padding: 50px 40px 30px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.pupid-variant-card .pupid-variant-card-title {
    font-size: 22px;
    font-weight: 700;
    color: #042656;
    margin-bottom: 15px;
    margin-top: 0;
}

.pupid-active-variant-name {
    color: inherit;
}

.pupid-variant-images {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.pupid-variant-first-img {
    max-width: 100%;
    height: auto;
    max-height: 120px;
    object-fit: contain;
    border-radius: 8px;
}

.pupid-gallery-image {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pupid-gallery-last-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.pupid-feature-card {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 20px;
    padding: 30px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    height: max-content;
}

.pupid-feature-icon {
    font-size: 48px;
    margin-bottom: 20px;

    svg {
        width: 1em;
        height: 1em;
    }
}

.pupid-feature-title {
    font-size: 26px;
    font-weight: 800;
    color: #042656;
    margin-bottom: 16px;
    line-height: 1.3;
}

.pupid-feature-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #4A5568;
    margin: 0;
}

.pupid-feature-phone {
    background: #FFF;
    border-radius: 20px;
    padding: 30px 30px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: max-content;
    /*border: 3px solid rgba(255, 255, 255, 0.5);*/
}

.pupid-slide-title {
    font-size: 28px;
    font-weight: 700;
    color: #042656;
    text-align: center;
    margin-bottom: 24px;
    line-height: 1.3;
}

.pupid-phone-screen {
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #FFF 0%, #F5F5F5 100%);
    border-radius: 26px;
    overflow: hidden;
}

.pupid-phone-content {
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #F8F9FA 0%, #E9ECEF 100%);
}

/* Slide Navigation Dots */
.pupid-slide-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 24px;
}

.pupid-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

.pupid-dot:hover {
    background: rgba(255, 255, 255, 0.8);
}

.pupid-dot.active {
    background: #FFF;
    transform: scale(1.2);
}

/* Right Section - Product */
.pupid-product-section {
    display: flex;
    flex-direction: column;
}

.pupid-product-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.pupid-product-title {
    font-size: 32px;
    font-weight: 900;
    color: #042656;
    margin: 0 0 16px 0;
    letter-spacing: -0.5px;
}

/* Reviews */
.pupid-reviews {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.pupid-stars {
    color: #FFC107;
    font-size: 16px;
    letter-spacing: 2px;
    display: flex;
}

.pupid-review-count {
    font-size: 13px;
    color: #042656;
    line-height: 23px;
}

.pupid-read-reviews {
    font-size: 13px;
    color: #016AD2;
    border-left: 1px solid #042656;
    padding-left: 8px;
    line-height: 23px;
    text-decoration: underline;
}

/* Features List */
.pupid-product-features {
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pupid-product-features li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    line-height: 23px;
    color: #374151;

    svg {
        width: 1em;
        height: 1em;
    }
}

/* Variant Selector */

.pupid-variant-section h4.pupid-variant-label {
    font-size: 13px;
    text-transform: uppercase;
    color: #042656;
    margin: 0 0 20px;
}

.pupid-variant-info {
    display: flex;
    gap: 16px;
    align-items: center;
}

.pupid-selected-footer {
    border: 2px solid #E5E7EB;
    border-radius: 16px;
    padding: 16px;
}

.pupid-variant-image {
    width: 195px;
    height: 128px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    padding: 25px 35px;
}

.pupid-tag-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.4s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/*.pupid-variant-image .pupid-tag-img {*/
/*    width: 100%;*/
/*    height: 100%;*/
/*}*/

.pupid-qr-icon {
    font-size: 28px;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
}

.pupid-variant-info {
    flex: 1;
}

.pup-variant-info-wrap .pupid-variant-name {
    font-size: 30px;
    line-height: 40px;
    font-weight: 700;
    color: #000;
    margin: 0;
    transition: color 0.4s ease;
}

.pupid-variant-design {
    font-size: 12px;
    color: #000;
    margin: 0;
    text-wrap: nowrap;
}

/* Color Swatches */
.pupid-color-swatches {
    display: flex;
    gap: 10px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 10px 20px;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
}

.pup-tag-items {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
}

.pup-tag-items .pupid-swatch {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
    position: relative;
    outline: none;
    box-shadow: 0 0 0 2px #FFF,
        0 0 0 4px #000;
}

.pup-tag-items .pupid-swatch:hover {
    border-color: transparent;
    box-shadow: 0 0 0 2px #FFF,
        0 0 0 4px #38B6FF;
}

.pup-tag-items .pupid-swatch.active {
    box-shadow: 0 0 0 2px #FFF,
        0 0 0 4px #38B6FF;
    border-color: transparent;
}

/* Price Section */
.pupid-price-section {
    margin-top: 30px;
}

.pupid-price {
    font-size: 25px;
    font-weight: 400;
    color: #000;
    text-transform: uppercase;
}

.pupid-warranty {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #000;
    background: #BDE9D6;
    padding: 6px 12px;
    border-radius: 20px;
    margin-top: 15px;

    svg {
        width: 1em;
        height: 1em;
        font-size: 20px;
    }
}

.pupid-price-section .pupid-add-to-cart {
    width: 100%;
    padding: 16px 24px;
    background: #FEE347;
    color: #042656;
    font-size: 16px;
    font-weight: 700;
    border-radius: 40px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 20px;
    border: 2px solid transparent;
}

.pupid-price-section .pupid-add-to-cart:hover {
    background: #FFD700;
    box-shadow: 0 6px 20px rgba(254, 227, 71, 0.4);
}

.pupid-membership-note {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    font-size: 12px;
    color: #000;
    line-height: 1.4;
    margin: 15px 0 0 0;

    svg {
        width: 1em;
        height: 1em;
        font-size: 18px;
    }
}

.pupid-price-section .pup-details-view {
    color: #016AD2;
    font-size: 12px;
    text-decoration: underline;
    display: block;
}

.pupid-membership-note a:hover {
    text-decoration: underline;
}

.pupid-note-icon {
    flex-shrink: 0;
}

.swiper-wrapper {
    align-items: center;
}

/* Responsive Design */
@media (max-width: 1400px) {
    .pupid-first-slide {
        gap: 30px;
    }

    .pupid-gallery-image {
        height: 100%;

        img {
            max-width: 100%;
            height: 100% !important;
        }
    }

    .pupid-slide-title {
        font-size: 22px !important;
    }

    .pupid-feature-section {
        width: calc(100% - 450px);
    }
}

@media (max-width: 1024px) {
    .pupid-feature-section {
        padding: 30px;
    }

    .pupid-feature-slide.active {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .pupid-first-slide {
        gap: 30px;
    }
}

@media (max-width: 992px) {
    .pupid-product-showcase {
        display: block;
    }

    .pupid-feature-section {
        margin-bottom: 30px;
    }

    .pupid-feature-section {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .pupid-feature-section {
        padding: 24px;
    }

    .pupid-feature-card {
        padding: 25px 10px;
    }

    .pupid-feature-title {
        font-size: 22px;
    }

    .pupid-slide-title {
        font-size: 22px;
    }

    .pupid-product-title {
        font-size: 26px;
    }

    .pupid-tag-icon {
        width: 70px;
        height: 70px;
    }

    .pupid-variant-name {
        font-size: 18px;
    }

    /*.pupid-feature-slide {*/
    /*    grid-template-columns: 1fr;*/
    /*}*/
    /*.pupid-feature-swiper .swiper-slide {*/
    /*    height: max-content;*/
    /*}*/
    /*.pupid-feature-slide > div:first-child {*/
    /*    order: 2;*/
    /*}*/
    /*New Responsive code*/
    .pupid-first-slide {
        gap: 20px;
    }

    .pupid-feature-title {
        font-size: 15px !important;
    }

    .pupid-variant-card,
    .pupid-feature-phone {
        padding: 25px 10px;
    }

    .pupid-variant-card .pupid-variant-card-title {
        font-size: 18px;
    }

    .pupid-gallery-image {
        height: 100%;

        img {
            max-width: 100%;
            height: 100% !important;
        }
    }

    .pupid-feature-desc {
        font-size: 12px !important;
    }

    .pupid-slide-title {
        font-size: 16px !important;
    }
}

/*@media (max-width: 576px) {*/
/*}*/

/*@media (max-width: 480px) {*/
/*    .pupid-feature-card {*/
/*        padding: 24px 16px;*/
/*    }*/

/*    .pupid-feature-icon {*/
/*        font-size: 36px;*/
/*    }*/

/*    .pupid-feature-title {*/
/*        font-size: 20px;*/
/*    }*/

/*    .pupid-feature-desc {*/
/*        font-size: 14px;*/
/*    }*/

/*    .pupid-selected-variant {*/
/*        flex-direction: column;*/
/*        align-items: center;*/
/*        text-align: center;*/
/*    }*/

/*    .pupid-color-swatches {*/
/*        justify-content: center;*/
/*    }*/

/*    .pupid-variant-image{*/
/*        padding: 15px;*/
/*    }*/
/*}*/

/* ============================================================
   MULTIPART TAG ACTIVATION FORM
   ============================================================ */

/* --- Wrapper --- */
.pupid-multipart-wrap {
    max-width: 520px;
    margin: 0 auto;
    padding: 0 16px 40px;
    position: relative;
}

/* --- Progress Bar --- */
.pupid-mp-progress {
    padding: 24px 0 8px;
}

.pupid-mp-progress-track {
    height: 4px;
    background: #EEE;
    border-radius: 4px;
    position: relative;
    margin-bottom: 12px;
}

.pupid-mp-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #FEE347, #F7B731);
    border-radius: 4px;
    width: 0;
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.pupid-mp-steps {
    display: flex;
    justify-content: space-between;
}

.pupid-mp-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex: 1;
}

.pupid-mp-step .step-dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #EEE;
    color: #999;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.35s ease;
}

.pupid-mp-step.active .step-dot {
    background: #FEE347;
    color: #042656;
}

.pupid-mp-step.current .step-dot {
    background: #042656;
    color: #FFF;
    box-shadow: 0 0 0 4px rgba(4, 38, 86, 0.15);
}

.pupid-mp-step .step-label {
    font-size: 10px;
    color: #AAA;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.3s;
}

.pupid-mp-step.active .step-label {
    color: #042656;
}

/* --- Screens --- */
.pupid-mp-screen {
    display: none;
    animation: pupidFadeUp 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.pupid-mp-screen.active {
    display: block;
}

@keyframes pupidFadeUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.pupid-mp-screen-inner {
    background: #FFF;
    border-radius: 20px;
    padding: 36px 28px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06),
        0 1px 4px rgba(0, 0, 0, 0.04);
    margin-top: 16px;
}

.pupid-mp-center {
    text-align: center;
}


/* --- Form Fields --- */
.pupid-mp-field {
    margin-bottom: 18px;
}

.pupid-mp-field label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #042656;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.pupid-mp-field input[type='text'],
.pupid-mp-field input[type='email'],
.pupid-mp-field input[type='tel'],
.pupid-mp-field input[type='password'] {
    width: 100%;
    padding: 14px 16px;
    border: 1.5px solid #E0E0E0;
    border-radius: 14px;
    font-size: 16px;
    color: #333;
    background: #FAFAFA;
    transition: border-color 0.25s,
        box-shadow 0.25s;
    box-sizing: border-box;
    outline: none;
}

.pupid-mp-field input:focus {
    border-color: #FEE347;
    box-shadow: 0 0 0 3px rgba(254, 227, 71, 0.25);
    background: #FFF;
}

.pupid-mp-optional {
    font-weight: 400;
    color: #AAA;
    font-size: 11px;
    text-transform: none;
}

.pupid-mp-row {
    display: flex;
    gap: 12px;
}

.pupid-mp-half {
    flex: 1;
}

.pupid-mp-link {
    display: block;
    margin-top: 10px;
    font-size: 13px;
    color: #F7B731 !important;
    text-decoration: none;
    font-weight: 600;
}

.pupid-mp-link:hover {
    color: #042656 !important;
}

/* --- Buttons --- */
.pupid-mp-btn,
.wc-block-cart__submit-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 15px 24px;
    border: none;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    margin-top: 8px;
    text-decoration: none;
}

/* Same specificity as .pupid-mp-btn — must follow so [hidden] actually hides (e.g. pet form Back on step 1). */
.pupid-mp-btn[hidden] {
    display: none !important;
}

.pupid-mp-btn-primary {
    background: linear-gradient(135deg, #FEE347 0%, #F7B731 100%);
    color: #042656;
    box-shadow: 0 4px 14px rgba(247, 183, 49, 0.35);
}

.pupid-mp-btn-primary:hover,
.wc-block-cart__submit-button:hover {
    box-shadow: 0 8px 24px rgba(247, 183, 49, 0.45);
}

.wc-block-cart__submit-button:active,
.wc-block-cart__submit-button:focus-visible,
.wc-block-cart__submit-button:focus {
    box-shadow: none !important;
    outline: none !important;
}

.pupid-mp-btn-secondary {
    background: #F4F6F8;
    color: #042656;
    border: 1.5px solid #E0E0E0;
}

.pupid-mp-btn-secondary:hover {
    background: #EEF0F4;
    border-color: #CCC;
}

.pupid-mp-btn-text {
    background: none;
    color: #999;
    font-size: 14px;
    font-weight: 500;
    padding: 10px;
}

.pupid-mp-btn-text:hover {
    color: #042656;
}

.btn-icon {
    font-size: 18px;
}

.wc-block-checkout__actions_row .wc-block-components-checkout-return-to-cart-button,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{
    color: #042656 !important;
    border-color: #FEE444 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    &:hover {
        background: #FEE444 !important;
        color: #042656 !important;
        border-color: #042656 !important;
    }
}

.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{
    background: #FEE444 !important;
}


/* --- Screen 2.5: Fork buttons --- */
.pupid-mp-fork-btns {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 8px;
}

.pupid-mp-fork-btns .pupid-mp-btn svg {
    flex-shrink: 0;
}

/* --- Screen 2.6: Profile Cards --- */

.pupid-mp-profile-card {
    background: #F9FAFB;
    border: 2px solid #E0E0E0;
    border-radius: 16px;
    padding: 20px 12px;
    text-align: center;
    cursor: pointer;
    transition: all 0.25s ease;
    position: relative;
}

.pupid-mp-profile-card:hover {
    border-color: #FEE347;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}

.pupid-mp-profile-card.selected {
    border-color: #F7B731;
    background: #FFFDF0;
    box-shadow: 0 0 0 3px rgba(247, 183, 49, 0.2);
}

.pupid-mp-profile-avatar {
    font-size: 40px;
    margin-bottom: 8px;
    line-height: 1;
}

.pupid-mp-profile-name {
    display: block;
    font-weight: 700;
    color: #042656;
    font-size: 14px;
}

.pupid-mp-profile-check {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 22px;
    height: 22px;
    background: #F7B731;
    border-radius: 50%;
    color: #FFF;
    font-size: 12px;
    display: none;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.pupid-mp-profile-card.selected .pupid-mp-profile-check {
    display: flex;
}

/* --- Profile avatar with image --- */
.pupid-mp-profile-avatar img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #E0E0E0;
}

/* --- Tag badges inside profile card --- */
.pupid-mp-profile-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: center;
    margin: 6px 0 4px;
}

.pupid-mp-tag-badge {
    display: inline-block;
    background: #EEF3FA;
    color: #042656;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 20px;
    letter-spacing: 0.3px;
    border: 1px solid #D0DAE7;
}

/* --- Loading spinner for profile cards --- */
.pupid-mp-profiles-loader {
    grid-column: 1 / -1;
    text-align: center;
    padding: 32px 16px;
}

.pupid-mp-profiles-loader p {
    margin: 12px 0 0;
    font-size: 14px;
    color: #6B7B8D;
}

.pupid-mp-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid #EEE;
    border-top-color: #F7B731;
    border-radius: 50%;
    margin: 0 auto;
    animation: pupidSpin 0.7s linear infinite;
}

@keyframes pupidSpin {
    to {
        transform: rotate(360deg);
    }
}

/* --- Empty state for profile cards --- */
.pupid-mp-profiles-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 24px 16px;
}

.pupid-mp-profiles-empty p {
    font-size: 14px;
    color: #999;
    margin: 0;
}

/* --- Screen 3: Plan Cards --- */
.pupid-mp-plan-cards {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
}

.pupid-mp-plan-card {
    flex: 1;
    border: 2px solid #E0E0E0;
    border-radius: 16px;
    padding: 24px 16px;
    text-align: center;
    cursor: pointer;
    transition: all 0.25s ease;
    position: relative;
    background: #FFF;
}

.pupid-mp-plan-card:hover {
    border-color: #FEE347;
}

.pupid-mp-plan-card.selected {
    border-color: #F7B731;
    background: linear-gradient(135deg, #FFFEF5, #FFF8E0);
    box-shadow: 0 0 0 3px rgba(247, 183, 49, 0.2);
}

.pupid-mp-plan-badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background: #042656;
    color: #FFF;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.pupid-mp-plan-card.selected .pupid-mp-plan-badge {
    background: #F7B731;
    color: #042656;
}

.pupid-mp-plan-card h3 {
    font-size: 18px;
    font-weight: 700;
    color: #042656;
    margin: 8px 0 4px;
}

.pupid-mp-plan-price {
    font-size: 28px;
    font-weight: 800;
    color: #042656;
}

.pupid-mp-plan-price span {
    font-size: 14px;
    font-weight: 500;
    color: #999;
}

.pupid-mp-plan-card p {
    font-size: 13px;
    color: #888;
    margin: 4px 0 0;
}

/* --- Pay methods --- */
.pupid-mp-pay-methods {
    display: flex;
    gap: 10px;
    margin-bottom: 8px;
}

.pupid-mp-pay-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 14px 10px;
    border-radius: 12px;
    border: 1.5px solid #E0E0E0;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s;
    background: #FFF;
    color: #042656;
}

.pupid-mp-pay-btn:hover {
    border-color: #042656;
    background: #F9FAFB;
}

.pupid-mp-pay-btn.apple-pay {
    background: #000;
    color: #FFF;
    border-color: #000;
}

.pupid-mp-pay-btn.apple-pay:hover {
    background: #222;
}

/* --- Gender Toggle --- */
.pupid-mp-toggle-group {
    display: flex;
    gap: 0;
    border-radius: 12px;
    overflow: hidden;
    border: 1.5px solid #E0E0E0;
}

.pupid-mp-toggle {
    flex: 1;
    padding: 12px;
    border: none;
    background: #FAFAFA;
    font-size: 15px;
    font-weight: 600;
    color: #888;
    cursor: pointer;
    transition: all 0.25s;
}

.pupid-mp-toggle.active {
    background: #042656;
    color: #FFF;
}

/* --- Photo Upload --- */
.pupid-mp-upload-area {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed #DDD;
    border-radius: 16px;
    padding: 32px;
    cursor: pointer;
    transition: all 0.25s;
    background: #FAFAFA;
    min-height: 120px;
    position: relative;
    overflow: hidden;
}

.pupid-mp-upload-area:hover {
    border-color: #FEE347;
    background: #FFFEF5;
}

.pupid-mp-upload-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: #999;
}

.upload-icon {
    font-size: 32px;
}

.upload-text {
    font-size: 14px;
    font-weight: 600;
    color: #042656;
}

.pupid-mp-photo-preview {
    max-width: 100%;
    max-height: 200px;
    border-radius: 12px;
    object-fit: cover;
}

/* --- Screen 7: Linking animation --- */
.pupid-mp-linking-anim {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 20px auto 28px;
}

.pupid-mp-link-circle {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #F4F6F8;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #E0E0E0;
    animation: pupidPulse 1.2s ease-in-out infinite alternate;
}

@keyframes pupidPulse {
    from {
        transform: scale(0.95);
    }

    to {
        transform: scale(1.08);
    }
}

.pupid-mp-link-dots {
    display: flex;
    gap: 5px;
    align-items: center;
}

.pupid-mp-link-dots span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #F7B731;
    animation: pupidDot 0.8s ease-in-out infinite alternate;
}

.pupid-mp-link-dots span:nth-child(2) {
    animation-delay: 0.15s;
}

.pupid-mp-link-dots span:nth-child(3) {
    animation-delay: 0.3s;
}

@keyframes pupidDot {
    from {
        opacity: 0.3;
        transform: scale(0.7);
    }

    to {
        opacity: 1;
        transform: scale(1.2);
    }
}

/* --- Screen 8: Success icon --- */
.pupid-mp-success-icon {
    margin: 0 auto 20px;
    animation: pupidBounceIn 0.6s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

.pup-account-wrap {
    --pup-yellow: #F5C518;
    --pup-dark: #1A2035;
    --pup-mid: #8A93A8;
    --pup-light-bg: #F0F1F4;
    --pup-white: #FFF;
    --pup-step-size: 28px;
    --pup-font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

    padding-top: 50px;
}

.pup-account-progress {
    position: relative;
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
}

/* ── Track & fill ── */
.pup-progress-bar-track {
    position: absolute;
    top: calc(var(--pup-step-size) / 2);
    left: calc(var(--pup-step-size) / 2);
    right: calc(var(--pup-step-size) / 2);
    height: 3px;
    background: var(--pup-light-bg);
    border-radius: 99px;
    transform: translateY(-50%);
    z-index: 0;
    overflow: hidden;
}

.pup-progress-bar-fill {
    height: 100%;
    background: var(--pup-yellow);
    border-radius: 99px;
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Steps row ── */
.pup-progress-steps {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    z-index: 1;
}

/* ── Single step ── */
.pup-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    cursor: default;
    flex: 1;
}

/* Bubble */
.pup-step__bubble {
    width: var(--pup-step-size);
    height: var(--pup-step-size);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.25s ease;
    position: relative;
}

/* Label */
.pup-step__label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transition: color 0.3s ease;
    white-space: nowrap;
}

/* ── State: completed ── */
.pup-step--completed .pup-step__bubble {
    background: var(--pup-yellow);
    color: var(--pup-dark);
    box-shadow: 0 2px 8px rgba(245, 197, 24, 0.35);
}

.pup-step--completed .pup-step__label {
    color: var(--pup-mid);
}

.pup-step__check {
    width: 18px;
    height: 18px;
    color: var(--pup-dark);
}

/* ── State: current ── */
.pup-step--current .pup-step__bubble {
    background: var(--pup-dark);
    color: var(--pup-white);
    box-shadow: 0 4px 16px rgba(26, 32, 53, 0.28);
    transform: scale(1.08);
}

.pup-step--current .pup-step__label {
    color: var(--pup-dark);
}

/* ── State: upcoming ── */
.pup-step--upcoming .pup-step__bubble {
    background: var(--pup-light-bg);
    color: var(--pup-mid);
}

.pup-step--upcoming .pup-step__label {
    color: var(--pup-mid);
}

/* ── Responsive ── */
@media (max-width: 600px) {

    .pup-step__bubble {
        font-size: 12px;
    }
}

@keyframes pupidBounceIn {
    from {
        transform: scale(0);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

/* --- Responsive --- */
@media (max-width: 600px) {
    .pupid-multipart-wrap {
        padding: 0 8px 24px;
    }

    .pupid-mp-screen-inner {
        padding: 28px 18px;
        border-radius: 16px;
    }

    .pupid-mp-title {
        font-size: 20px;
    }

    .pupid-mp-plan-cards {
        flex-direction: column;
    }

    .pupid-mp-pay-methods {
        flex-direction: column;
    }

    .pupid-mp-step .step-label {
        display: none;
    }

    .pupid-mp-steps {
        gap: 0;
    }

    .pupid-mp-profile-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* --- Validation errors --- */
.pupid-mp-error {
    display: none;
    font-size: 13px;
    color: #E74C3C;
    margin-top: 5px;
    font-weight: 500;
    line-height: 1.3;
}

.pupid-mp-input-error {
    border-color: #E74C3C !important;
    box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.15) !important;
}

/* ═══════════════════════════════════════════════════════════
   Screen 3 — Active plan confirmation
   ═══════════════════════════════════════════════════════════ */

.pup-plan-confirmed {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 8px 0 16px;
    animation: pupidFadeUp 0.4s cubic-bezier(0.4, 0, 0.2, 1) both;
}

.pup-plan-confirmed__icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    filter: drop-shadow(0 6px 18px rgba(245, 197, 24, 0.35));
}

.pup-plan-confirmed__icon svg {
    width: 100%;
    height: 100%;
}

/* Active plan pill badge */
.pup-plan-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #F0FDF4;
    border: 1.5px solid #BBF7D0;
    border-radius: 99px;
    padding: 8px 18px;
    margin: 12px auto 24px;
    font-size: 14px;
    font-weight: 600;
    color: #15803D;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

.pup-plan-badge__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22C55E;
    flex-shrink: 0;
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.6);
    animation: pupPlanPulse 1.8s ease-in-out infinite;
}

@keyframes pupPlanPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.6);
    }

    70% {
        box-shadow: 0 0 0 7px rgba(34, 197, 94, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
    }
}

/* ═══════════════════════════════════════════════════════════
   Checkout Modal (pup-screen-4 → Select level → popup)
   ═══════════════════════════════════════════════════════════ */

/* Prevent body scroll when modal is open */
body.pup-modal-open {
    overflow: hidden;
}

/* Full-screen container (stacking context) */
.pup-checkout-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: flex-end;
    /* slide up from bottom on mobile */
    justify-content: center;


}

@media (min-width: 640px) {
    .pup-checkout-modal {
        align-items: center;
        /* centred on desktop */
    }
}

/* Semi-transparent backdrop */
.pup-checkout-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 38, 86, 0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    animation: pupModalBackdropIn 0.25s ease forwards;
}

@keyframes pupModalBackdropIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* The sliding panel */
.pup-checkout-modal__panel {
    position: relative;
    z-index: 1;
    background: #FFF;
    border-radius: 24px 24px 0 0;
    width: 100%;
    max-width: 640px;
    max-height: 92dvh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    box-shadow: 0 -8px 48px rgba(0, 0, 0, 0.18);
    animation: pupModalSlideUp 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

@media (min-width: 640px) {
    .pup-checkout-modal__panel {
        border-radius: 24px;
        max-height: 88dvh;
    }
}

@keyframes pupModalSlideUp {
    from {
        opacity: 0;
        transform: translateY(60px) scale(0.97);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Header bar */
.pup-checkout-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px 16px;
    border-bottom: 1px solid #F0F1F4;
    flex-shrink: 0;
    position: sticky;
    top: 0;
    background: #FFF;
    z-index: 2;
    border-radius: 24px 24px 0 0;
}

.pup-checkout-modal__title {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #1A2035;
    margin: 0;
    line-height: 1.3;
}

/* Close button */
.pup-checkout-modal__header .pup-checkout-modal__close {
    padding: 10px;
    border-radius: 50%;
    border: 2px solid #FEEA71;
    background: #F0F1F4;
    color: #6B7B8D;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, transform 0.2s;
    flex-shrink: 0;
}

.pup-checkout-modal__close svg {
    width: 16px;
    height: 16px;
}

.pup-checkout-modal__close:hover {
    background: #1A2035;
    color: #FFF;
}

/* Scrollable body */
.pup-checkout-modal__body {
    padding: 24px;
    overflow-y: auto;
    flex: 1;
}

/* When the body contains an iframe, remove padding so the
   checkout page fills the panel edge-to-edge */
.pup-checkout-modal__body:has(#pup-checkout-iframe) {
    padding: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

#pup-checkout-iframe {
    width: 100%;
    min-height: 520px;
    border: none;
    display: block;
}

/* ── Loading state ── */
.pup-checkout-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 56px 24px;
    color: #8A93A8;
    font-size: 14px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

.pup-checkout-spinner {
    display: block;
    width: 40px;
    height: 40px;
    border: 3px solid #F0F1F4;
    border-top-color: #F5C518;
    border-radius: 50%;
    animation: pupidSpin 0.75s linear infinite;
}

/* ── Error state ── */
.pup-checkout-error {
    text-align: center;
    padding: 32px 16px;
    color: #6B7B8D;
    font-size: 15px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

.pup-checkout-error a {
    color: #F5C518;
    font-weight: 700;
    text-decoration: underline;
}

/* ── Form wrap: normalise PMPro styles inside modal ── */
.pup-checkout-form-wrap {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

.pup-checkout-form-wrap .pmpro_checkout,
.pup-checkout-form-wrap #pmpro_form {
    max-width: 100%;
}

.pup-checkout-form-wrap input[type="text"],
.pup-checkout-form-wrap input[type="email"],
.pup-checkout-form-wrap input[type="password"],
.pup-checkout-form-wrap input[type="tel"],
.pup-checkout-form-wrap input[type="number"],
.pup-checkout-form-wrap select {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid #E0E0E0;
    border-radius: 12px;
    font-size: 15px;
    color: #1A2035;
    background: #FAFAFA;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.25s, box-shadow 0.25s;
    margin-bottom: 4px;
}

.pup-checkout-form-wrap input:focus,
.pup-checkout-form-wrap select:focus {
    border-color: #F5C518;
    box-shadow: 0 0 0 3px rgba(245, 197, 24, 0.22);
    background: #FFF;
}

.pup-checkout-form-wrap .pmpro_submit input[type="submit"],
.pup-checkout-form-wrap input[type="submit"] {
    display: block;
    width: 100%;
    padding: 15px 24px;
    background: linear-gradient(135deg, #FEE347 0%, #F7B731 100%);
    color: #042656;
    font-size: 16px;
    font-weight: 700;
    border: none;
    border-radius: 14px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(247, 183, 49, 0.35);
    transition: transform 0.2s, box-shadow 0.2s;
    margin-top: 12px;
    box-sizing: border-box;
}

.pup-checkout-form-wrap input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(247, 183, 49, 0.45);
}

/*.pup-complete-profile-form .pup-field-select {*/
/*    appearance: none;*/
/*    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");*/
/*    background-repeat: no-repeat;*/
/*    background-position: right 14px center;*/
/*    padding-right: 40px;*/
/*}*/

/* ═══════════════════════════════════════════════════════════════════
 * Account Setup Wizard — Screen Visibility
 *
 * Every .pup-account-screen is hidden by default.
 * Only the screen with .is-active is displayed.
 * JavaScript adds/removes .is-active to transition between steps.
 * ═══════════════════════════════════════════════════════════════════ */

/* The wrapper that holds Screens 2-8 — hidden until JS reveals it */

#pup-screen-wrap {
    display: none;
}

#pup-screen-wrap.is-active {
    display: block;
}

/* Individual screens — all hidden by default; only .is-active shows */
.pup-account-screen {
    display: none;
}

.pup-account-screen.is-active {
    display: block;
}

/* ── Screen footer: Back + Continue on the same row ── */
.pup-screen-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 0 4px;
    margin-top: 8px;
}

/* Hide the Continue button when not on Screen 3 (it only applies there) */
.pup-footer-continue {
    display: none;
}

#pup-screen-3.is-active~* .pup-footer-continue,
#pup-screen-wrap:has(#pup-screen-3.is-active) .pup-footer-continue {
    display: inline-flex;
}

/* Footer Continue: hidden by default, shown via JS only on Screen 3 */
.pup-footer-continue {
    display: none;
}

/* ═══════════════════════════════════════════════════════════════════
 * Screen 5 — New Pup / Replace Tag fork buttons
 * ═══════════════════════════════════════════════════════════════════ */
.pupid-mp-fork-btns {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 28px;
}

.pupid-mp-fork-btns .pupid-mp-btn {
    width: 100%;
    justify-content: center;
}

/* ═══════════════════════════════════════════════════════════════════
 * Screen 5b — Profile picker (Replace a Tag flow)
 * ═══════════════════════════════════════════════════════════════════ */

/* Loading spinner wrapper inside the cards container */
.pup-profiles-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 40px 24px;
    color: #8A93A8;
    font-size: 14px;
    width: 100%;
}

/* Individual card */

/* Profile photo */
.pup-profile-card__photo {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #E0E0E0;
    transition: border-color 0.22s ease;
}

.pup-profile-card.is-selected .pup-profile-card__photo {
    border-color: #F7B731;
}

/* Placeholder when no photo */
.pup-profile-card__photo--placeholder {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #F0F1F4;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    border: 2px solid #E0E0E0;
}

/* Name label */
.pup-profile-card__name {
    font-size: 13px;
    font-weight: 600;
    color: #1A2035;
    text-align: center;
    line-height: 1.3;
    word-break: break-word;
}

/* Checkmark badge — hidden until selected */
.pup-profile-card__check {
    display: none;
    position: absolute;
    top: -8px;
    right: -8px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #F7B731;
    color: #042656;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(247, 183, 49, 0.4);
}

.pup-profile-card.is-selected .pup-profile-card__check {
    display: flex;
}

/* Link This Tag button — sits below the card grid */
#btn-link-tag {
    width: 100%;
    justify-content: center;
    margin-top: 4px;
}

#btn-link-tag:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

/* ═══════════════════════════════════════════════════════════════════
 * Account Setup Wizard — Auth screens (Screen 2) field styles
 * These classes are shared between screen 2 (auth) and screen 5a (new pup info).
 * ═══════════════════════════════════════════════════════════════════ */

.pup-auth-panel {
    animation: pupidFadeUp 0.35s cubic-bezier(0.4, 0, 0.2, 1) both;
}

/* ── Field groups (label + input + error) ── */
.pup-field-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}


.pup-field-input:focus {
    border-color: #F5C518;
    box-shadow: 0 0 0 3px rgba(245, 197, 24, 0.22);
    background: #FFF;
}

.pup-field-input.has-error {
    border-color: #E53E3E;
    box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.14);
}

/* Read-only account email (Scan alerts): not disabled — disabled + WebKit hides/low-contrast text */
.pup-field-input.pup-field-input--readonly {
    cursor: default;
    background: #EEF1F6;
    color: #1A2035;
    -webkit-text-fill-color: #1A2035;
    opacity: 1;
}

.pup-field-error {
    font-size: 12px;
    color: #E53E3E;
    font-weight: 500;
}

/* ── Password input with show/hide button ── */
.pup-password-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.pup-password-wrap .pup-field-input {
    padding-right: 48px;
}

.pup-toggle-pw {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: #8A93A8;
    display: flex;
    align-items: center;
    transition: color 0.2s;
}

.pup-toggle-pw:hover {
    color: #042656;
}

.pup-toggle-pw svg {
    width: 18px;
    height: 18px;
}

/* ── Forgot / text link buttons ── */
.pup-text-link-btn {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: #8A93A8;
    transition: color 0.2s;
    padding: 0;
}

.pup-text-link-btn:hover {
    color: #042656;
}

.pup-forgot-link {
    color: #F7B731 !important;
}


.pup-forgot-status {
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 6px;
    text-align: center;
}

/* ── Btn spinner (overlaid on button text) ── */


/* ═══════════════════════════════════════════════════════════════════
 * Screen 5a — "New Pup Info" form
 * ═══════════════════════════════════════════════════════════════════ */

/* Age & Weight side-by-side */
.pup-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 0;
}

@media (max-width: 400px) {
    .pup-field-row {
        grid-template-columns: 1fr;
    }
}

/* Input with a unit suffix (yrs / kg) */
.pup-input-suffix-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.pup-input-suffix-wrap .pup-field-input {
    padding-right: 46px;
}

.pup-input-suffix {
    position: absolute;
    right: 14px;
    font-size: 13px;
    font-weight: 600;
    color: #8A93A8;
    pointer-events: none;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ── Gender toggle ── */

/* ── Photo upload area ── */
.pup-photo-upload-area {
    position: relative;
    min-height: 80px;
}

.pup-photo-upload-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 18px 20px;
    border: 2px dashed #D1D5E0;
    border-radius: 14px;
    background: #FAFBFC;
    color: #042656;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: border-color 0.22s ease, background 0.22s ease, transform 0.18s ease;
    box-sizing: border-box;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

.pup-photo-upload-btn svg {
    flex-shrink: 0;
    color: #F7B731;
}

.pup-photo-upload-btn:hover {
    border-color: #F7B731;
    background: #FFFEF5;
}

.pup-upload-progress {
    margin-top: 10px;
    background: #F0F0F0;
    border-radius: 8px;
    height: 22px;
    position: relative;
    overflow: hidden;
}

.pup-upload-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #F7B731, #FEE347);
    width: 0%;
    border-radius: 8px;
    transition: width 0.15s ease;
}

.pup-upload-progress-text {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    font-size: 12px;
    line-height: 22px;
    color: #333;
    font-weight: 700;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Pet profile shortcode — success/error banners */
.pup-pet-form-banner {
    display: block;
    padding: 14px 18px;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 20px;
    line-height: 1.4;
}

.pup-pet-form-banner--success {
    background: #D4EDDA;
    color: #155724;
    border: 1px solid #C3E6CB;
}

.pup-pet-form-banner--error {
    background: #F8D7DA;
    color: #721C24;
    border: 1px solid #F5C6CB;
}

.pf-pup-step {
    text-align: center;
    cursor: pointer;
}

.pf-pup-step:focus-visible {
    outline: 2px solid #042656;
    outline-offset: 4px;
    border-radius: 8px;
}

/* Remove photo button */


.pup-photo-remove:hover {
    background: #E53E3E;
    transform: scale(1.08);
}

/* ── Continue button in screen 5a ── */
.pup-5a-continue {
    width: 100%;
    justify-content: center;
    margin-top: 8px;
    gap: 10px;
}

@keyframes pupidFadeUp {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/*Activation logic*/
.pup-account-wrap {
    max-width: 530px;
    width: 100%;
    margin: auto;
    padding-bottom: 30px;
    padding-left: 15px;
    padding-right: 15px;
}

.pup-screen-1 {
    text-align: center;

    .pupid-mp-btn {
        margin-left: auto;
        margin-right: auto;
    }
}

.pup-account-screen {
    background: #FFF;
    border-radius: 20px;
    padding: 36px 28px;
    box-shadow: 0 4px 40px rgba(0, 0, 0, 0.09),
        0 1px 40px rgba(0, 0, 0, 0.04);
    margin-top: 16px;
}

/* --- Screen 1: Shield icon --- */
.pupid-mp-icon-shield {
    margin: 0 auto 20px;
    width: 60px;
    height: 60px;
}

.pupid-mp-icon-shield svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 4px 12px rgba(254, 227, 71, 0.4));
}

.pupid-mp-title {
    font-size: 22px !important;
    color: #042656;
    line-height: 1.3;
    margin-bottom: 10px;
    text-align: center;
}

.pupid-mp-subtitle {
    font-size: 15px;
    color: #6B7B8D;
    line-height: 1.5;
    margin: 0 0 24px;
    text-align: center;
}

.pup-account-screen-area,
.pup-form-screen-area,
.pupid-edit-profile__card {
    .pupid-mp-btn {
        display: flex;
        margin-left: auto;
        margin-right: auto;

        svg {
            width: 1em;
            height: 1em;
            margin-right: 10px;

            path {
                fill: currentColor;
            }
        }

        &:hover {
            transform: none;
            color: #042656;
        }

        .btn-spinner {
            display: none;
            width: 18px;
            height: 18px;
            border: 2px solid rgba(4, 38, 86, 0.2);
            border-top-color: #042656;
            border-radius: 50%;
            animation: pupidSpin 0.65s linear infinite;
            margin-left: 10px;
        }

    }

    .pup-field-label {
        font-size: 14px;
        font-weight: 600;
        color: #042656;
        margin-bottom: 5px;
        text-transform: capitalize;
    }

    .pup-field-input {
        width: 100%;
        border: 1px solid #E0E4EC;
        border-radius: 14px;
        font-size: 15px;
        color: #1A2035;
        background: #FAFBFC;
        box-sizing: border-box;
        outline: none;
        transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.2s ease;
        appearance: none;
        padding: 15px 20px;
    }

    .pup-toggle-pw {
        border: none;
        padding: 0;

        &:hover,
        &:active,
        &:focus {
            background: transparent;
            border: none;
            color: #042656;
        }
    }

    .pup-auth-link-row {
        display: flex;
        flex-direction: column;
        gap: 5px;
        align-items: start;

        .pup-text-link-btn {
            padding: 0;
            border: none;
            font-size: 14px;

            &:hover,
            &:active,
            &:focus {
                background: transparent;
                border: none;
                color: #042656;
            }

            &.pup-forgot-link {
                text-decoration: underline;
            }
        }
    }

    .pup_pmpro_section {
        .pmpro_btn {
            padding: 10px 15px;
            font-size: 14px;
            line-height: 18px;
        }

        .pmpro_level {
            font-size: 14px;
        }
    }

    .pup-auth-heading {
        font-size: 22px;
        margin: 0 0 8px;
        text-align: center;
    }

    .pup-auth-subtext {
        font-size: 14px;
        color: #6B7B8D;
        line-height: 1.55;
        margin: 0 0 22px;
        text-align: center;
    }

    .pup-gender-toggle {
        display: flex;
        border-radius: 14px;
        gap: 30px;
    }


    .pup-gender-btn {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
        border: 2px solid #042656;
        background: transparent;
        color: #042656;
        transition: background 0.22s ease, color 0.22s ease;
        position: relative;

    }

    .pup-gender-icon {
        font-size: 16px;
        line-height: 1;
    }

    .pup-gender-btn.is-selected {
        background: linear-gradient(135deg, #FEE347 0%, #F7B731 100%);
        color: #042656;
        box-shadow: inset 0 0 0 1.5px rgba(247, 183, 49, 0.5);
    }

    .pup-gender-btn--male {

        &:hover,
        &.is-selected {
            color: #1A6BBF;
            background: linear-gradient(135deg, #EEF5FF, #D6E8FF);
            box-shadow: inset 0 0 0 1.5px rgba(66, 133, 244, 0.3);
            border: 2px solid #D6E8FF;
        }
    }

    .pup-gender-btn--female {

        &:hover,
        &.is-selected {
            color: #C0306B;
            background: linear-gradient(135deg, #FFF0F6, #FFD6E8);
            box-shadow: inset 0 0 0 1.5px rgba(236, 64, 122, 0.3);
            border: 2px solid #FFD6E8;
        }
    }

    .pup-field-group {
        margin-bottom: 20px;
    }

    .pup-done-icon {
        width: 90px;
        height: 90px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 30px;
    }

    .pupid-mp-fork-btns {
        svg {
            margin-right: 0;
        }

        .pupid-mp-btn {
            text-decoration: none;
            color: #042656;
        }
    }

    .pup-profile-card {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        padding: 16px 12px;
        border: 2px solid #E0E0E0;
        border-radius: 16px;
        background: #FAFAFA;
        cursor: pointer;
        transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, transform 0.18s ease;
        user-select: none;
        flex: 0 0 calc(32.33% - 10px);

        img {
            border-radius: 50%;
        }
    }

    .pup-profile-card:hover {
        border-color: #FEE347;
        background: #FFFEF5;
        box-shadow: 0 4px 14px rgba(245, 197, 24, 0.18);
    }

    .pup-profile-card.is-selected {
        border-color: #F7B731;
        background: linear-gradient(135deg, #FFFEF5, #FFF8E0);
        box-shadow: 0 0 0 3px rgba(247, 183, 49, 0.22);
    }

    .pupid-mp-profile-cards {
        display: flex;
        gap: 20px;
        flex-wrap: wrap;
    }

    #btn-link-tag {
        margin-top: 30px;
    }

    .pup-photo-remove {
        position: absolute;
        top: 8px;
        right: 8px;
        border-radius: 14px;
        border: 2px solid #FEEA71;
        background: transparent;
        color: #042656;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background 0.2s, transform 0.18s;
        flex-shrink: 0;
        padding: 10px 15px;

        &:hover {
            color: #042656;
            border: 2px solid #FEEA71;
            background: #FEEA71;
        }
    }

    .pup-photo-preview-wrap {
        position: relative;
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 12px;
        cursor: pointer;
        border: 2px solid #FEEA71;
        border-radius: 14px;
        background: #FAFBFC;
        animation: pupidFadeUp 0.3s ease both;
    }

    .pup-photo-preview {
        width: 72px;
        height: 72px;
        border-radius: 50%;
        object-fit: cover;
        border: 2px solid #FEEA71;
        flex-shrink: 0;
    }

    .pupid-billing-toggle {
        background: #FEDE07;
        border: 1px solid #000;

        .pupid-billing-option {
            color: #000;
        }

        .pupid-billing-option.active {
            background: #FFF;
            color: #000;
            box-shadow: none;
            transform: none;
        }

    }

    .pmpro_levels_table {
        .pmpro_btn {
            background: #FEE444;
            border-color: #042656;
            color: #042656;
            padding-left: 10px;
            padding-right: 10px;

            &:hover {
                box-shadow: none !important;
            }
        }

        .pmpro_level {
            td:last-child {
                padding-left: 0;
                padding-right: 0;
            }
        }
    }
}


.pup-checkout-modal {
    .pmpro_btn-submit-checkout {
        background: #FEE444;
        border-color: #042656;
        color: #042656;
        padding-left: 10px;
        padding-right: 10px;

        &:hover {
            box-shadow: none !important;
        }

        display: none !important;
    }


}

.pmpro .pup_form_action_submit {
    flex-direction: column;

    .pmpro_btn {
        background: linear-gradient(135deg, #FEE347 0%, #F7B731 100%);
        border-color: #042656;
        color: #042656;
        box-shadow: 0 4px 14px rgba(247, 183, 49, 0.35);
        border-color: #FEEA71;
        transition: all 0.3s ease;

        &:hover {
            background: linear-gradient(135deg, #FEE347 0%, #F7B731 100%) !important;

        }
    }
}

/* ═══════════════════════════════════════════════════════════════════
 * Pet Profile Form
 * ═══════════════════════════════════════════════════════════════════ */

.pup-pet-form-wrap {
    padding: 30px 16px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 4px 40px rgba(0, 0, 0, 0.09),
        0 1px 40px rgba(0, 0, 0, 0.04);


    .pup-form-screen-area {
        max-width: 520px;
        margin: 0 auto;
        padding: 0 16px 40px;
    }

    .cp-step-nav {
        align-items: stretch;
    }

    .cp-step-nav .pupid-mp-btn-primary {
        flex: 1;
        justify-content: center;
    }

    .pup-photo-upload-area .pup-photo-upload-btn {
        display: flex;
    }

    .pup-photo-upload-area .pup-photo-preview-wrap:not(.pf-preview-visible) {
        display: none !important;
    }

    .pup-photo-upload-area .pup-photo-preview-wrap.pf-preview-visible {
        display: flex !important;
    }

    .pup-photo-upload-area:has(.pup-photo-preview-wrap.pf-preview-visible) .pup-photo-upload-btn {
        display: none;
    }

    /* Gallery: .pf-preview-visible (not inline display) */
    .cp-gallery-upload .pup-photo-preview-wrap:not(.pf-preview-visible) {
        display: none !important;
    }

    .cp-gallery-upload .pup-photo-preview-wrap.pf-preview-visible {
        display: flex !important;
    }

    .cp-gallery-upload:has(.pup-photo-preview-wrap:not(.pf-preview-visible)) .pup-photo-upload-btn {
        display: flex;
    }

    .cp-gallery-upload:has(.pup-photo-preview-wrap.pf-preview-visible) .pup-photo-upload-btn {
        display: none;
    }

    .pup-photo-upload-area .pup-upload-progress {
        width: 100%;
        box-sizing: border-box;
    }

    .cp-gallery-upload {
        .pup-upload-progress {
            width: auto;
        }

        .pup-photo-preview-wrap {
            border: none;

            img {
                border: none;
            }
        }
    }
}

/* ═══════════════════════════════════════════════════════════════════
 * Complete Profile Modal
 * ═══════════════════════════════════════════════════════════════════ */
.pup-complete-profile-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

@media (min-width: 640px) {
    .pup-complete-profile-modal {
        align-items: center;
    }
}

.pup-complete-profile-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 38, 86, 0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    animation: pupModalBackdropIn 0.25s ease forwards;
}

.pup-complete-profile-modal__panel {
    position: relative;
    z-index: 1;
    background: #FFF;
    border-radius: 24px 24px 0 0;
    width: 100%;
    max-width: 540px;
    max-height: 92dvh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    box-shadow: 0 -8px 48px rgba(0, 0, 0, 0.18);
    animation: pupModalSlideUp 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

@media (min-width: 640px) {
    .pup-complete-profile-modal__panel {
        border-radius: 24px;
        max-height: 88dvh;
    }
}

.pup-complete-profile-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px 16px;
    border-bottom: 1px solid #F0F1F4;
    flex-shrink: 0;
    position: sticky;
    top: 0;
    background: #FFF;
    z-index: 2;
    border-radius: 24px 24px 0 0;
}

.pup-complete-profile-modal__title {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #1A2035;
    margin: 0;
    line-height: 1.3;
}

.pup-complete-profile-modal__header .pup-complete-profile-modal__close {
    padding: 10px;
    border-radius: 50%;
    border: 2px solid #FEEA71;
    background: #F0F1F4;
    color: #6B7B8D;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, transform 0.2s;
    flex-shrink: 0;
}

.pup-complete-profile-modal__close svg {
    width: 16px;
    height: 16px;
}

.pup-complete-profile-modal__close:hover {
    background: #1A2035;
    color: #FFF;
}

.pup-complete-profile-modal__body {
    padding: 24px;
    overflow-y: auto;
    flex: 1;
}

.pup-complete-profile-form {
    .pup-field-label {
        display: block;
        font-size: 13px;
        font-weight: 600;
        color: #042656;
        margin-bottom: 6px;
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    }

    .pup-field-input {
        width: 100%;
        padding: 12px 14px;
        border: 1.5px solid #E0E0E0;
        border-radius: 12px;
        font-size: 15px;
        color: #1A2035;
        background: #FAFAFA;
        box-sizing: border-box;
        outline: none;
        transition: border-color 0.25s, box-shadow 0.25s;
    }

    .pup-field-input:focus {
        border-color: #F5C518;
        box-shadow: 0 0 0 3px rgba(245, 197, 24, 0.22);
        background: #FFF;
    }

    .pup-field-group {
        margin-bottom: 18px;
    }

    .pup-field-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .pup-field-error {
        display: block;
        font-size: 12px;
        color: #E53E3E;
        margin-top: 4px;
        min-height: 0;
        line-height: 1.3;
    }

    .pup-input-suffix-wrap {
        position: relative;
    }

    .pup-input-suffix {
        position: absolute;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 13px;
        color: #8A93A8;
        pointer-events: none;
        font-weight: 500;
    }

    .pup-input-suffix-wrap .pup-field-input {
        padding-right: 44px;
    }

    .nice-select {
        margin-bottom: 0;
    }
}

@media (max-width: 480px) {
    .pup-complete-profile-form .pup-field-row {
        grid-template-columns: 1fr;
    }
}

.cp-gallery-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}


.cp-gallery-upload {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed #D1D5DB;
    border-radius: 16px;
    background: #FAFAFA;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    overflow: hidden;
    position: relative;
}

.cp-gallery-upload:hover {
    border-color: #F5C518;
    background: #FFFDF0;
}

.cp-gallery-upload .pup-photo-preview-wrap {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    cursor: pointer;
}

.cp-gallery-upload .pup-photo-preview {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 14px;
}

.cp-gallery-upload .pup-photo-remove {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: none;
    background: rgba(0, 0, 0, 0.5);
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
    transition: all 0.3s;
    padding: 0;
}



/* Full-box hit target: label covers dashed area (border/bg stay on .cp-gallery-upload) */
.cp-gallery-upload .pup-photo-upload-btn {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    height: 100%;
    margin: 0;
    color: #8A93A8;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    pointer-events: auto;
    border: none;
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-sizing: border-box;
}

.cp-gallery-upload .pup-photo-upload-btn svg {
    color: #B0B8C4;
}

.cp-gallery-upload .pup-upload-progress {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 4;
    margin-top: 0;
}

.cp-gallery-upload:has(.pup-photo-preview-wrap[style*="display:none"]) .pup-photo-upload-btn,
.cp-gallery-upload:has(.pup-photo-preview-wrap[style*="display: none"]) .pup-photo-upload-btn,
.cp-gallery-upload .pup-photo-upload-btn {
    display: flex;
}

.cp-gallery-upload:has(.pup-photo-preview-wrap:not([style*="display:none"]):not([style*="display: none"])) .pup-photo-upload-btn {
    display: none;
}

/* ── Stepper ── */
.cp-stepper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    padding: 0 4px;
    position: relative;
}

.cp-stepper::before {
    content: '';
    position: absolute;
    top: 15px;
    left: 24px;
    right: 24px;
    height: 2px;
    background: #E5E7EB;
    z-index: 0;
}

.cp-step-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    position: relative;
    z-index: 1;
    cursor: pointer;
}

.cp-step-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    color: #9CA3AF;
    background: #F3F4F6;
    border: 2px solid #E5E7EB;
    transition: all 0.25s;
}

.cp-step-indicator.is-active .cp-step-num {
    background: #F5C518;
    color: #1F2937;
    border-color: #F5C518;
}

.cp-step-indicator.is-done .cp-step-num {
    background: #10B981;
    color: #FFF;
    border-color: #10B981;
}

.cp-step-label {
    font-size: 11px;
    font-weight: 600;
    color: #9CA3AF;
    text-align: center;
    white-space: nowrap;
    transition: color 0.25s;
}

.cp-step-indicator.is-active .cp-step-label,
.cp-step-indicator.is-done .cp-step-label {
    color: #374151;
}

/* ── Step panels ── */
.cp-step {
    display: none;
    animation: cpFadeIn 0.25s ease;
}

.cp-step.is-active {
    display: block;
}

@keyframes cpFadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.cp-step-title {
    font-size: 18px;
    font-weight: 700;
    color: #1F2937;
    margin: 0 0 4px 0;
}

.cp-step-desc {
    font-size: 14px;
    color: #6B7280;
    margin: 0 0 20px 0;
}

/* ── Toggle row (Yes/No) ── */
.cp-toggle-row {
    display: flex;
    gap: 10px;
}

.cp-toggle-btn {
    flex: 1;
    padding: 10px 16px;
    border-radius: 10px;
    border: 2px solid #E5E7EB;
    background: #FFF;
    font-size: 14px;
    font-weight: 600;
    color: #6B7280;
    cursor: pointer;
    transition: all 0.2s;
}

.cp-toggle-btn:hover {
    border-color: #F5C518;
    color: #374151;
}

.cp-toggle-btn.is-selected {
    background: #FFF8E1;
    border-color: #F5C518;
    color: #1F2937;
}

/* ── Step nav buttons ── */
.cp-step-nav {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}

.cp-step-nav .pupid-mp-btn-secondary {
    flex-shrink: 0;
}

.cp-step-nav .pupid-mp-btn-primary {
    flex: 1;
}

/* ── Textarea & Select ── */
.pup-complete-profile-form .pup-field-textarea {
    resize: vertical;
    min-height: 60px;
}

/* Google Places Autocomplete dropdown above modals / sticky UI */
.pac-container {
    z-index: 100003 !important;
}

/* Hide broken place-type icons; text suggestions still show */
.pac-icon,
.pac-icon-marker {
    display: none !important;
}

.pac-item {
    padding: 8px 12px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 14px;
    cursor: pointer;
}

.pac-item:hover {
    background: #FFFEF5;
}

.pac-item-query {
    font-weight: 600;
    color: #042656;
}

.pup-map-wrap .pup-map-frame-wrap {
    position: relative;
    width: 100%;
    min-height: 220px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #E5E7EB;
}

.pup-address-map-frame {
    width: 100%;
    min-height: 220px;
    border: 0;
    display: block;
}

.pup-map-wrap .pup-map-head {
    font-weight: 600;
    margin: 12px 0 8px;
    color: #042656;
}

.pup-map-wrap .pup-map-find-btn,
.pup-map-wrap #address-find-btn {
    margin-top: 10px;
}

/* Location History Modal */
.location-history-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: none;
    padding: 0 15px;

    .pupid-location-history-body {
        overflow-x: scroll;
        scrollbar-width: none;

        &::-webkit-scrollbar {
            display: none;
        }

        &::-webkit-scrollbar-track {
            display: none;
        }
    }

    .location-history-table {
        width: 530px;
    }

    .pupid-location-history-card {
        max-width: 570px;
        margin: 0 auto;
        position: relative;
        background: #FFF;
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
        max-height: 85dvh;
        overflow-y: scroll;
        scrollbar-width: none;
        top: 50%;
        transform: translateY(-50%);

    }

    .pupid-location-history__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 20px;
        border-bottom: 1px solid #F0F0F0;
        position: relative;

        .pupid-location-history__title {
            font-size: 24px;
            font-weight: 700;
            color: #042656;
            margin: 0;
        }

        .pupid-location-history__close {
            padding: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            position: absolute;
            top: 0;
            right: 0;
            background-color: #FEE444;
            border-radius: 0 20px 0 20px;

            &:hover,
            &:focus {
                color: #042656;
            }
        }
    }
}

.create-cup-profile-modal,
.create-pup-profile-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: none;
    overflow-y: auto;
    padding: 0 15px;

    .pupid-create-profile-card {
        max-width: 530px;
        margin: 0 auto;
        position: relative;
        top: 50%;
        transform: translateY(-50%);
    }

    .pupid-create-profile__card {
        background: #FFF;
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
        max-height: 83dvh;
        overflow-y: scroll;
        scrollbar-width: none;

        &::-webkit-scrollbar {
            display: none;
        }
    }

    .pupid-create-profile__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 20px;
        border-bottom: 1px solid #F0F0F0;
        position: sticky;
        top: 0;
        background: #FFF;
        z-index: 2;
    }

    .pupid-create-profile__title {
        font-size: 24px;
        font-weight: 700;
        color: #042656;
        margin: 0;
    }

    .pupid-create-profile__close {
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0;
        right: 0;
        background-color: #FEE444;
        border-radius: 0 20px 0 20px;

        &:hover,
        &:focus {
            color: #042656;
        }
    }

    .pupid-create-profile__body {
        padding: 0;
    }

    .pupid-create-profile__body .pup-account-wrap {
        padding: 0;
    }

    .pupid-create-profile__body .pup-form-screen-area {
        padding: 20px;
    }
}

.create-pup-profile-modal {
    .pup-pet-form-wrap {
        border-radius: 0;
        padding-top: 20px !important;
    }

}

@media screen and (max-width: 1400px) {
    .show-all-pup-profiles {
        .pet-profile-left {
            width: 47% !important;
        }

        .pup-pet-profile-wrap {
            gap: 40px;
        }

        .pet-pup-profile-info-wrap {
            padding: 10px 6px;
        }
    }
}

@media screen and (max-width: 1200px) {
    .show-all-pup-profiles {
        .pup-pet-profile-wrap {
            flex-direction: column;
            background: linear-gradient(180deg,
                    rgba(254, 228, 68, 1) 0%,
                    rgba(255, 255, 255, 1) 100%);
        }

        .pet-profile-left {
            width: 100% !important;
        }

        .pet-name-mobile {
            display: block;
            margin-bottom: 30px;
        }

        .info-wrap {
            .pup-pet-profile-title-wrap {
                display: none;
            }
        }
    }

    .missing-popup-form .pet-info h3 {
        font-size: 18px;
        line-height: 1.2;
    }

    .pup-col,
    #my-pup-profiles .pup-col {
        width: 80%;
    }

    .pup-pet-other-info-wrap .accordion-list {
        padding: 65px;
    }
}

@media screen and (max-width: 992px) {
    .missing-popup-form .missing-form {
        display: block;
    }

    .tags-table thead {
        display: none;
    }

    .tags-table tr td {
        display: grid;
        grid-template-columns: 1fr 2fr;
        text-align: left;
        gap: 20px;
        word-break: break-all;
    }

    .tags-table td:before {
        content: attr(data-title);
        display: flex;
        align-items: center;
    }

    .tags-table .profile-select-option {
        display: grid;
    }

    .tags-table .tag-transfer-btn-wrap,
    .tags-table tr {
        text-align: left;
    }

    #my-pup-profiles .pup-col {
        width: 95%;
    }

    .show-all-pup-profiles {
        .swiper {
            .swiper-slide {
                img {
                    height: 350px;
                }
            }
        }
    }
}

@media screen and (max-width: 780px) {

    .admin-bar .dashboard-header,
    .admin-bar .accordion-right .pup-logout {
        top: 45px;
    }

    .admin-bar .accordion-left {
        top: 45px;
        height: calc(100vh - 45px);
    }
}

@media screen and (max-width: 768px) {
    .admin-bar .accordion-left .pup-logo {
        top: 0;
    }

    .missing-popup-form {
        width: 90%;
        height: 90vh;
    }

    .missing-popup-form .pet-image img {
        width: 100%;
    }

    .pet-profile-wrap,
    .profile-input-field-wrap .list-value {
        display: block;
    }

    .accordion-right {
        width: 100%;
        margin-left: 0;
    }

    .create-cup-profile-modal .pupid-create-profile-card,
    .create-pup-profile-modal .pupid-create-profile-card {
        max-width: 95%;
    }

    .accordion-left {
        transform: translateX(-100%);
        transition: transform 0.5s ease-in-out;
    }

    .mobile-menu-active .accordion-left {
        transform: translateX(0);
        z-index: 12;
    }

    .pup-mobile-menu {
        display: flex;
    }

    .accordion-right .pup-logout {
        align-items: center;
        justify-content: space-between;
        display: flex;
        left: 0;
    }

    .mobile-menu-active .pup-overlay {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: #000;
        opacity: 0.5;
        z-index: 11;
        display: block;
        cursor: move;
        transition: all 0.23s ease-out;
    }

    .close-icon {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 30px;
        height: 30px;
        color: #FFF;
        text-align: center;
        line-height: 30px;
        cursor: pointer;
        font-size: 20px;
        background: #FF543D;
    }

    .mobile-logo {
        display: flex;
    }

    .mobile-logo img {
        width: 70px;
    }

    .pup-pet-other-info-wrap .accordion-list {
        padding: 50px;
    }

    .pup-col {
        width: 100%;
    }

    .show-all-pup-profiles {
        .swiper {
            .swiper-slide {
                img {
                    /*height: 300px;*/
                    height: auto;
                }
            }
        }

        .button-wrap {
            justify-content: center;
        }
    }
}

@media screen and (max-width: 576px) {
    .pupid_form_wrapper form h3 {
        font-size: 22px;
    }

    .pet-location-history-wrap {
        width: 100%;
    }

    .accordion-content .section-title,
    .accordion-content .pmpro_section_title {
        font-size: 25px !important;
        line-height: 35px !important;
    }

    .accordion-content .pmpro_card_title {
        font-size: 18px !important;
        line-height: 28px !important;
    }

    .accordion-content .pmpro_account-profile .pmpro_card_action {
        font-size: 14px !important;
    }

    .accordion-content .pmpro_section {
        margin: 30px 0 !important;
    }

    #activate-new-tag h3 {
        font-size: 22px !important;
    }

    .pup-pet-profile-vital-info .pet-pup-profile-info-wrap {
        min-width: 30%;
        padding: 10px;
    }

    .pup-pet-profile-vital-info .pet-pup-profile-info-wrap svg {
        width: 30px !important;
        height: auto !important;
    }

    .pup-pet-profile-vital-info {
        gap: 10px;
        margin-top: 30px;
    }

    .pup-pet-profile-vital-info .pet-pup-info-title {
        font-size: 12px !important;
    }

    .pup-pet-profile-title-wrap .pup-pet-name {
        font-size: 45px !important;
    }

    .pup-pet-profile-title-wrap .pup-pet-breed {
        font-size: 30px !important;
    }

    .pup-pet-other-info-wrap .pup-accordion-item-header .pup-ahi-title {
        word-break: break-word;
        font-size: 18px;
    }

    .pup-pet-other-info-wrap .accordion-list {
        padding: 30px 10px;
    }

    .pup-info-list li,
    .pup-accordion-item-content .about-pet {
        font-size: 20px;
    }

    .pup-pet-profile-wrap .swiper img {
        min-height: 260px;
    }

    .pup-pet-other-info-wrap .pup-accordion-item-header {
        padding-right: 10px;
    }

    .tag-details-wrap .info-wrap {
        margin-top: -32px;
    }

    .pup-pet-profile-wrap .swiper-pagination {
        bottom: 45px;
    }

    .show-all-pup-profiles {
        .pup-pet-profile-wrap {
            padding: 30px 20px;
        }

        .pup-pet-other-info-wrap {
            .pup-accordion-item-header {
                .pup-ahi-title {
                    font-size: 18px;
                }
            }

            .accordion-list {
                padding-top: 0;
            }
        }
    }

    .pupid-billing-option {
        padding: 12px 20px;
        font-size: 12px;
    }
}

@media screen and (max-width: 450px) {
    .manage-tags .tags-table select {
        width: 100px;
        font-size: 12px;
    }

    .tags-table tr td {
        gap: 10px;
        font-size: 14px;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .tags-table .delete_tag_button {
        font-size: 12px !important;
        width: max-content !important;
        padding: 10px !important;
    }

    .tags-table tr td {
        grid-template-columns: 1fr 1.5fr;
    }

    .btn-style {
        padding: 6px 20px !important;
    }

    .accordion-content .pmpro_card_content {
        padding: 20px !important;
    }

    .pup-my-account .pmpro_card_title {
        padding: 20px 20px 0 20px !important;
    }

    .pup-account-screen-area,
    .pup-form-screen-area {
        .pup-gender-toggle {
            flex-direction: column;
            gap: 10px;
        }

        .pupid-mp-profile-cards {
            .pup-profile-card {
                flex: 0 0 calc(48.33% - 10px);
            }
        }


    }

    .pup-account-wrap {
        .pup-step {
            .pup-step__label {
                display: none;
            }

            &.pup-step--current {
                .pup-step__label {
                    display: block;
                }
            }
        }
    }


}

/* ============================================================
   PUP ID NEW DASHBOARD - [pupid_new_dashboard]
   ============================================================ */

/* --- Wrapper & Layout --- */
.pupid-nd-wrapper {
    display: flex;
    background: #FDF8F1;
    position: relative;
    /* Lock wrapper to viewport so body never scrolls inside the dashboard */
    height: 100dvh;
    overflow: hidden;
}

/* --- Sidebar --- */
.pupid-nd-sidebar {
    width: 320px;
    min-width: 320px;
    background: #FFF9C4;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: fixed;
    top: 0;
    height: 100dvh;
    overflow-y: auto;
    z-index: 100;
    box-shadow: 4px 0 20px rgba(0, 0, 0, 0.05);
    scrollbar-width: none;
    padding-bottom: 60px;
    gap: 50px;

    &::-webkit-scrollbar {
        display: none;
    }

    &::-webkit-scrollbar-track {
        display: none;
    }
}

.pupid-nd-logo {
    margin-bottom: 36px;
    text-align: center;
}

.pupid-nd-logo img {
    max-height: 48px;
    width: auto;
}

.pupid-nd-logo a {
    display: inline-block;
}

.pupid-nd-logo--sidebar {
    text-align: left;
    position: fixed;
    background-color: #FFF9C4;
    width: 320px;
    height: 80px;
    padding-left: 45px;
    padding-top: 30px;

    .pup-sidebar-close-btn {
        display: none;
    }
}

.pup-create-profile {
    padding-left: 45px;
    padding-right: 45px;
}

.pup-create-profile .pup-profile-create-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 8px solid #fff !important;
    background-color: #FFD700;
    color: #002B5B;
    border-radius: 30px;
    padding: 14px 20px;
    font-size: 15px;
    font-weight: 400;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    text-align: center;
    box-shadow:
        0 0 0 4px #fff,
        0 4px 18px rgba(0, 43, 91, 0.12),
        0 2px 0 rgba(255, 255, 255, 0.6) inset;
}

.pup-create-profile .pup-profile-create-btn svg {
    width: 20px;
    height: 20px;
}

.pupid-nd-nav {
    margin-top: 115px;
    padding-left: 35px;
    padding-right: 35px;
}

.admin-bar {
    .pupid-nd-logo--sidebar {
        top: 32px;
    }

    .pupid-nd-sidebar {
        top: 32px;
        height: calc(100dvh - 32px);
    }

    .pupid-nd-wrapper {
        height: calc(100dvh - 32px);
    }

    .pupid-nd-main {
        height: calc(100dvh - 32px);
    }

    .pupid-nd-mobile-bar {
        top: 32px;
    }
}


.pupid-nd-logo--sidebar .pupid-nd-logo-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    text-decoration: none;
    color: inherit;
}

.pupid-nd-brand-text {
    font-size: 35px;
    font-weight: 800;
    color: #042656;
    letter-spacing: -0.02em;
    line-height: 35px;
}

/* --- Navigation --- */
.pupid-nd-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pupid-nd-nav-item,
.pupid-nd-logout a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    color: #042656;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    margin-bottom: 4px;
}

.pupid-nd-nav-item.pupid-nd-logout a {
    padding: 0;
    font-size: 15px;
    font-weight: 500;
    color: #042656;
    background-color: transparent !important;
}

.pupid-nd-nav-item:hover {
    background: rgba(254, 227, 71, 0.4);
}

.pupid-nd-nav-item.active {
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.pupid-nd-nav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.pupid-nd-nav-icon svg {
    width: 20px;
    height: 20px;

    path{
        fill: #042656;
    }
}

/* --- Sidebar Bottom --- */
.pupid-nd-sidebar-bottom {
    margin-top: auto;
    padding-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pupid-nd-btn-create {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #FFD700;
    color: #002B5B;
    border: none;
    border-radius: 12px;
    padding: 14px 20px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    text-align: center;
    margin-bottom: 8px;
    box-shadow:
        0 0 0 4px #fff,
        0 4px 18px rgba(0, 43, 91, 0.12),
        0 2px 0 rgba(255, 255, 255, 0.6) inset;
}

.pupid-nd-btn-create:hover {
    background: #FFC107;
    transform: translateY(-1px);
    box-shadow:
        0 0 0 4px #fff,
        0 6px 20px rgba(255, 193, 7, 0.45);
}


/* --- Main Content --- */
.pupid-nd-main {
    flex: 1;
    /* This is the ONLY scroll container — sidebar is fixed, body is locked */
    overflow-y: auto;
    overflow-x: hidden;
    height: 100dvh;
    background: #fffbf5;
    width: calc(100% - 320px);
    margin-left: 320px;
    /* Smooth momentum scrolling on iOS */
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
}

/* --- Sections (scoped so theme rules do not keep panels visible) --- */
.pupid-nd-dashboard .pupid-nd-section {
    display: none;
    margin-top: 30px;
    padding: 0 45px 30px;
}

.pupid-nd-dashboard{
    .manage-membership{
        .section-title{
            font-weight: 500;
        }
    }
}

.pupid-nd-dashboard .pupid-nd-section.active {
    display: block;
    animation: pupid-nd-fadeIn 0.3s ease;
}

@keyframes pupid-nd-fadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.pupid-nd-title {
    font-size: 32px;
    font-weight: 500 !important;
    color: #042656;
    margin: 0 0 6px;
    letter-spacing: -0.02em;
}

.pupid-nd-subtitle {
    font-size: 17px;
    color: #042656;
    margin: 0;
    font-weight: 400;
}

.pupid-nd-main-header {
    display: flex;
    align-items: center;
    justify-content: end;
    padding-right: 25px;
    min-height: 48px;
    top: 0;
    background-color: #fffbf5;
    z-index: 100;
}

.pupid-nd-main-header-spacer {
    flex: 1;
    min-width: 0;
}

.pupid-nd-main-logo {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.pupid-nd-main-header .pupid-nd-main-logo img {
    height: 100px;
    width: auto;
    display: block;
}

.pupid-nd-main--subview {
    padding-top: 32px;
}

.pupid-nd-subview {
    max-width: 960px;
}

.pupid-nd-subview-body {
    margin-top: 8px;
}

.pupid-nd-section-header--sub .pupid-nd-title {
    margin-bottom: 4px;
}

.pupid-nd-back {
    display: inline-block;
    margin-bottom: 20px;
    font-size: 15px;
    font-weight: 600;
    color: #042656;
    text-decoration: none;
}

.pupid-nd-back:hover {
    text-decoration: underline;
}

.pupid-nd-subview--error .pupid-nd-error-msg {
    margin: 0;
    padding: 20px 24px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #E2E8F0;
    color: #B91C1C;
    font-weight: 600;
}

/* --- Profile Cards --- */
.pupid-nd-profiles-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.pupid-nd-profile-card {
    background: #fff;
    border-radius: 20px;
    padding: 22px 26px 20px;
    box-shadow: 0 8px 28px rgba(4, 38, 86, 0.08);
    border: 1px solid rgba(226, 232, 240, 0.9);
    transition: box-shadow 0.2s ease;
    position: relative;
}

.pupid-nd-profile-card:hover {
    box-shadow: 0 12px 36px rgba(4, 38, 86, 0.12);
}

.pupid-nd-card-body {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 18px;
}

.pupid-nd-card-body-main {
    flex: 1;
    min-width: 0;
}

.pupid-nd-card-top-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px 24px;
}

.pupid-nd-avatar {
    width: 104px;
    height: 104px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid #F5D000;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #EDF2F7;
    box-shadow: 0 2px 8px rgba(4, 38, 86, 0.06);
}

.pupid-nd-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.pupid-nd-avatar-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #EDF2F7;
}

.pupid-nd-card-info {
    flex: 1;
    min-width: 0;
}

.pupid-nd-card-info .pupid-nd-pet-name {
    font-size: 38px;
    font-weight: 700 !important;
    color: #042656;
    margin: 0;
    line-height: 38px;
}

.pupid-nd-pet-breed {
    font-size: 20px;
    margin: 0 0 12px;
    font-weight: 400;
    color: #042656;
}

.pupid-nd-card-right {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    position: absolute;
    right: 26px;
    top: 20px;
}

.pupid-nd-card-right .pupid-nd-stat-badge-text {
    margin-top: 4px;
}

/* --- Stats Badges --- */
.pupid-nd-card-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
}

.pupid-nd-stat-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #D1E9FF;
    color: #042656;
    padding: 10px 20px;
    border-radius: 999px;
    font-size: 18px;
    font-weight: 500;
    min-width: 160px;
    justify-content: center;
}

.pupid-nd-stat-badge img {
    width: 23px;
}

.pupid-nd-stat-badge-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pupid-nd-stat-badge-icon--paw svg {
    width: 1em;
    height: 1em;
    display: block;
    font-size: 27px;
}

.pupid-nd-stat-badge-icon--paw svg path {
    fill: currentColor;
}

.pupid-nd-stat-badge-img {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    object-fit: contain;
    display: block;
}

/* --- Primary action row (View / Location / Poster) --- */
.pupid-nd-card-actions-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    padding-top: 25px;

    .pupid-nd-btn {
        background-color: #FFE14A;
        color: #042656;

        &:hover {
            background: transparent;
            border: 2px solid #FFE14A;
        }
    }

}

/* --- Buttons --- */
button.pupid-nd-btn {
    background: none;
    font: inherit;
    color: inherit;
    text-align: inherit;
    margin: 0;
    padding: 0;
    border: none;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    line-height: normal;
    width: auto;
}

.pupid-nd-profile-card .pupid-nd-btn,
.pupid-nd-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: none;
    border-radius: 30px !important;
    padding: 12px 16px !important;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    text-decoration: none;
    font-family: "Nunito", Sans-serif;
    line-height: 18px;
    height: 50px;
}

.pupid-nd-card-actions-row .pupid-nd-btn-primary {
    width: 100%;
    min-height: 48px;
}

.pupid-nd-btn-primary {
    background: #F5D000;
    color: #042656;
    box-shadow: 0 2px 0 rgba(4, 38, 86, 0.06);
}

.pupid-nd-btn-primary:hover {
    background: #E6C200;
    box-shadow: 0 4px 14px rgba(245, 208, 0, 0.45);
}

.pupid-nd-profile-card .pupid-nd-btn-outline {
    background: #fff;
    color: #042656;
    border: 2px solid #042656 !important;
    padding: 15px 30px !important;
    transition: all 0.3s ease;

    &:hover,
    &:focus-visible,
    &:active,
    &:focus {
        background: transparent;
        color: #042656;
        border-color: #FEE444 !important;
    }
}

.pupid-nd-btn-outline:hover {
    background: #042656;
    color: #fff;
}

.pupid-nd-stat-badge-img2 {
    display: flex;
}

/* --- Status Badges --- */
.pupid-nd-status {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 30px !important;
}

.pupid-nd-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.pupid-nd-status-active {
    background: #E1F5E1;
    color: #166534;
}

.pupid-nd-status-active .pupid-nd-status-dot {
    background: #22C55E;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.35);
}

.pupid-nd-status-inactive {
    background: #FFE1E1;
    color: #B91C1C;
}

.pupid-nd-status-inactive .pupid-nd-status-dot {
    background: #EF4444;
}

/* --- Empty State --- */
.pupid-nd-empty-state {
    text-align: center;
    padding: 64px 32px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    border: 1px solid #E2E8F0;
}

.pupid-nd-empty-icon {
    margin-bottom: 16px;
}

.pupid-nd-empty-state h3 {
    font-size: 22px;
    color: #1A365D;
    margin: 0 0 8px;
    font-weight: 700;
}

.pupid-nd-empty-state p {
    color: #718096;
    font-size: 15px;
    margin: 0 0 24px;
}

.pupid-nd-create-first {
    padding: 14px 28px;
    font-size: 16px;
}

/* --- Section Content (for embedded dashboard partials) --- */
.manage-tags .pupid-nd-section-content {
    background: #fff;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    border: 1px solid #E2E8F0;
}

.pupid-nd-section-content,
.pupid-nd-profiles-grid {
    margin-top: 30px;
}

/* --- Mobile Top Bar --- */
.pupid-nd-mobile-bar {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #fffbf5;
    gap: 12px;
    padding: 30px 30px 20px;
    z-index: 200;
    justify-content: space-between;


}

.pupid-nd-mobile-header {
    overflow: hidden;
}

.pupid-nd-mobile-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 250;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.pupid-nd-wrapper.pupid-nd-mobile-open .pupid-nd-mobile-overlay {
    display: block;
    opacity: 1;
}

.pupid-nd-mobile-bar .pupid-nd-mobile-toggle {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(0, 43, 91, 0.12);
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    box-shadow: 0 2px 8px rgba(0, 43, 91, 0.08);
    transition: background 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
}

.pupid-nd-mobile-toggle:hover {
    background: #FFFCF5;
    box-shadow: 0 4px 12px rgba(0, 43, 91, 0.1);
}

.pupid-nd-mobile-toggle span {
    display: block;
    width: 18px;
    height: 2px;
    background: #002B5B;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.pupid-nd-logo-mobile img {
    max-height: 36px;
    width: auto;
}

.pupid-nd-logo-mobile a {
    display: inline-block;
}

/* --- Login Box --- */
.pupid-nd-login-box {
    max-width: 440px;
    margin: 80px auto;
    background: #fff;
    border-radius: 16px;
    padding: 48px 40px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.pupid-nd-login-box .pupid-nd-logo {
    margin-bottom: 24px;
}

.pupid-nd-login-msg {
    font-size: 16px;
    color: #4A5568;
    margin-bottom: 24px;
}

.pupid-nd-card-info-mobile{
    display: none;
}

.wc-block-cart-items__row{
    .wc-block-components-product-name{
        text-decoration: none;
        color: #042656 !important;
        font-size: 26px !important;
    }
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{
    border-radius: 0 !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.wc-block-components-quantity-selector{
    width: 125px  !important;
}
/* --- Responsive --- */

@media (max-width: 1300px) {
    .pupid-nd-sidebar {
        width: 260px;
        min-width: 260px;
    }

    .pupid-nd-logo--sidebar {
        width: 260px;
    }

    .pupid-nd-nav,
    .pup-create-profile,
    .pupid-nd-dashboard .pupid-nd-section {
        padding-left: 25px;
        padding-right: 25px;
    }

    .pupid-nd-main {
        width: calc(100% - 260px);
        margin-left: 260px;
    }
}

@media (max-width: 1200px) {
    .pupid-nd-profile-card .pupid-nd-btn,
    .pupid-nd-status,
    .pupid-nd-stat-badge {
        font-size: 14px;
    }
}

@media (max-width: 1150px) {
    .pupid-nd-card-right{
        position: unset;
        padding-left: 123px;
    }
}

@media (max-width: 1024px) {

    .pupid-nd-card-actions-row {
        gap: 10px;
    }

    .pupid-nd-btn {
        padding: 10px 12px !important;
        font-size: 13px;
    }
}

@media (max-width: 992px) {
    .pupid-nd-sidebar {
        display: block;
        position: fixed;
        top: 0;
        left: -300px;
        width: 300px;
        height: 100dvh;
        border-radius: 0;
        z-index: 300;
        transition: left 0.3s ease;
        padding-top: 72px;

        .pupid-nd-logo--sidebar {
            width: 300px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding-left: 15px;
            padding-right: 15px;
        }

        .pup-sidebar-close-btn {
            display: flex;
            padding: 0;
            border: none;
            font-size: 30px;

            svg {
                width: 1em;
                height: 1em;
            }
        }
    }

    .pupid-nd-wrapper.pupid-nd-mobile-open .pupid-nd-sidebar {
        left: 0;
    }

    .pupid-nd-logo--sidebar {
        top: 0;
    }

    .pupid-nd-nav {
        margin-top: 30px;
    }

    .pupid-nd-mobile-bar {
        display: flex;
    }

    .pupid-nd-main {
        width: 100%;
        margin-left: 0;
        height: 100dvh;
    }

    .pupid-nd-main-header,
    .pupid-nd-section-header {
        display: none;
    }

    .pupid-nd-nav, .pup-create-profile, .pupid-nd-dashboard .pupid-nd-section{
        padding-left: 15px;
        padding-right: 15px;
    }

    .pupid-nd-dashboard .pupid-nd-section{
        margin-top: 150px;
    }
}

@media (max-width: 768px) {
    .pupid-nd-wrapper {
        flex-direction: column;
    }

    .pupid-nd-mobile-bar {
        display: flex;
    }

    .pupid-nd-title {
        font-size: 24px;
    }

    .pupid-nd-card-body {
        flex-wrap: wrap;
    }

    .pupid-nd-card-top-row {
        flex-direction: column;
        align-items: stretch;
    }

    .pupid-nd-card-actions-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .pupid-nd-card-actions-row .pupid-nd-btn-primary {
        width: 100%;
    }

    .pupid-nd-card-stats {
        display: none;
    }

    .pupid-nd-section-content {
        padding: 20px 16px;
    }

    .pupid-nd-mobile-bar {
        .pupid-nd-title {
            font-size: 30px;
            line-height: 30px;
        }
    }

    .pupid-nd-dashboard .pupid-nd-section {
        margin-top: 125px;
    }
}

@media (max-width: 576px) {
    .pupid-nd-mobile-bar {
        padding: 30px 15px;
    }

    .pupid-nd-profile-card .pupid-nd-btn-outline,
    .pupid-nd-status{
        padding: 15px !important;
    }

    .pupid-nd-profile-card{
        padding-left: 15px;
        padding-right: 15px;
    }

    .pupid-nd-card-top-row{
        .pupid-nd-card-stats,
        .pupid-nd-card-actions-row{
            display: none;
        }
    }

    .pupid-nd-card-info-mobile{
        display: block;
    }

    .pupid-nd-card-right{
        margin-top: 10px;
        padding-left: 0;
        justify-content: center;
        flex-direction: column;
        align-items: center;

        .pupid-nd-btn,
        .pupid-nd-status{
            width: 100%;
        }
    }

    .pupid-nd-card-body{
        align-items: center;

        .pupid-nd-pet-breed{
            margin-bottom: 0;
        }
    }

    .pupid-nd-card-actions-row{
        padding-top: 0;
    }

}

@media (max-width: 480px) {
    .pupid-nd-avatar {
        width: 80px;
        height: 80px;
    }

    .pupid-nd-title {
        font-size: 26px;
    }

    .pupid-nd-pet-name {
        font-size: 20px;
    }

    .pupid-nd-stat-badge {
        font-size: 12px;
        padding: 5px 10px;
    }

    .pupid-nd-stat-badge{
        font-size: 12px;
    }
    .pupid-nd-stat-badge-img2{
        img{
            width: 20px;
        }
    }

    .pupid-nd-card-info .pupid-nd-pet-name{
        font-size: 30px;
        line-height: 30px;
    }

    .pupid-nd-pet-breed{
        font-size: 18px;
        line-height: 18px;
    }

    .wc-block-components-form .wc-block-checkout__actions .wc-block-checkout__actions_row{
        flex-direction: column-reverse !important;
        gap: 16px !important;
        .wc-block-components-checkout-return-to-cart-button, .wc-block-components-checkout-place-order-button{
            width: 100% !important;
            text-align: center !important;
        }
    }


}
