.membership-product-page .membership-type-tabs {
    display: flex;
    margin-bottom: 2.5rem;
    gap: 1rem;
    background: #F0F0F2;
    padding: 1rem;
    border-radius: 0.5625rem;
}

.membership-product-page .tab-btn {
    flex: 1;
    font-family: 'Platform';
    font-size: 1.25rem;
    line-height: 1.5rem;
    color: var(--wp--preset--color--dark-blue);
    padding: 1rem;
    border: 0.125rem solid transparent;
    background: #F0F0F2;
    font-weight: 500;
    border-radius: 0.5rem;
    cursor: pointer;
}

.membership-product-page .tab-btn.selected {
    background: var(--wp--preset--color--white);
    border: 0.125rem solid var(--wp--preset--color--dark-blue);
}

.membership-product-page button#membership-now-button {
    background-color: var(--wp--preset--color--dark-blue);
    color: var(--wp--preset--color--white);
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1.2rem;
    border-radius: 0.5rem;
    padding: 1rem 2rem;
    border: none;
    display: block;
    margin: 2.5rem auto 0;
    width: 100%;
}

.membership-product-page button#membership-now-button:hover,
.membership-product-page button#membership-now-button:active {
    background-color: var(--wp--preset--color--super-dark-gray);
    color: var(--wp--preset--color--white);
}

.membership-product-page .family-member {
    background: var(--wp--preset--color--white);
    padding: 1rem;
    margin-bottom: 1rem;
    border-radius: 0.375rem;
    border: 1px solid #e0e0e0;
}

.membership-product-page .family-member-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.membership-product-page .remove-family-member {
    background: #e74c3c;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    cursor: pointer;
    font-size: 0.875rem;
}

.membership-product-page .add-family-member {
    background: var(--wp--preset--color--dark-blue);
    color: white;
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 0.375rem;
    cursor: pointer;
    margin-bottom: 1rem;
}

.membership-product-page .add-family-member:disabled {
    background: #ccc;
    cursor: not-allowed;
}

/* Flexbox layout for form fields */
.membership-product-page .membership-form-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    margin-bottom: 1rem !important;
    align-items: flex-start !important;
}

.membership-product-page .membership-field-half {
    flex: 1 !important;
    min-width: 0 !important;
    width: auto !important;
    display: block !important;
}

.membership-product-page .membership-field-full {
    flex: 1 1 100% !important;
    width: 100% !important;
    display: block !important;
}

/* Remove outlines and style labels above inputs */
.membership-product-page .membership-field input[type="text"],
.membership-product-page .membership-field input[type="email"],
.membership-product-page .membership-field input[type="tel"],
.membership-product-page .membership-field select,
.membership-product-page .membership-field textarea {
    /*outline: none !important;
    border: 1px solid #ccc !important;
    width: 100%;*/
    font-family: inherit;
    font-weight: 400;
    letter-spacing: normal;
    padding: .5em;
    display: block;
    background-color: var(--wc-form-color-background, #fff);
    border: var(--wc-form-border-width) solid var(--wc-form-border-color);
    border-radius: var(--wc-form-border-radius);
    color: var(--wc-form-color-text, #000);
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    line-height: normal;
    height: auto;
}

.membership-product-page .membership-field input[type="text"]:focus,
.membership-product-page .membership-field input[type="email"]:focus,
.membership-product-page .membership-field input[type="tel"]:focus,
.membership-product-page .membership-field select:focus,
.membership-product-page .membership-field textarea:focus {
    outline: none !important;
    border-color: #007cba !important;
}

.membership-product-page .membership-field label {
    display: block !important;
}

/* Essential membership form visibility - with higher specificity */
.membership-product-page .membership-field-group {
    display: none !important;
}

.membership-product-page .membership-field-group.active {
    display: block !important;
}

.membership-product-page .membership-info-section {
    display: none !important;
}

.membership-product-page .membership-info-section.active {
    display: block !important;
}

.membership-product-page .tab-subtitle {
    display: block !important;
    font-family: Arial !important;
    font-size: 1rem !important;
    line-height: 1.25rem !important;
    color: #57575D !important;
}

/* Additional specificity to override any theme CSS */
body .membership-product-page .membership-field-group {
    display: none !important;
}

body .membership-product-page .membership-field-group.active {
    display: block !important;
}

body .membership-product-page .membership-info-section {
    display: none !important;
}

body .membership-product-page .membership-info-section.active {
    display: block !important;
}

/* Error styling for validation */
.membership-product-page .membership-field input.error,
.membership-product-page .membership-field select.error,
.membership-product-page .membership-field textarea.error {
    border-color: #dc3545 !important;
}

.membership-product-page .membership-field .error {
    color: #dc3545;
}

@media (max-width: 768px){
    .membership-product-page .preset-amounts,
    .membership-product-page .membership-form-row,
    .membership-product-page .tab-btn {
        font-size: 1rem;
        line-height: 1.5rem;
    }

    .membership-product-page .tab-btn {
        padding: 0.5rem;
    }

    .membership-product-page button#membership-now-button,
    .membership-product-page .tab-subtitle {
        font-size: 0.875rem !important;
        line-height: 1.125rem !important;
    }
}