/* CPT Builder - Enhanced UI Design */

/* Page Title Section */
.topppa-cpt-builder-header {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e2e4e7;
}

.topppa-cpt-builder-header h2 {
    margin: 0 0 15px;
    font-size: 28px;
    font-weight: 600;
    color: #1d2327;
    line-height: 1.3;
}

.topppa-cpt-builder-header p {
    margin: 0;
    color: #646970;
    font-size: 15px;
    line-height: 1.5;
}

/* CPT Builder Wrapper */
.topppa-cpt-builder-wrapper {
    padding: 25px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* Add New Post Type Button */
#add-new-cpt {
    display: inline-flex;
    align-items: center;
    padding: 10px 16px;
    background: #2271b1;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    color: #fff;
    margin-bottom: 25px;
    transition: all 0.2s ease;
}

#add-new-cpt:before {
    content: "+";
    margin-right: 8px;
    font-size: 16px;
    font-weight: 600;
}

#add-new-cpt:hover {
    background: #135e96;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* CPT Item Styles */
.topppa-cpt-item {
    margin-bottom: 25px;
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    transition: box-shadow 0.2s ease;
}

.topppa-cpt-item:hover {
    box-shadow: 0 2px 5px rgba(0,0,0,0.08);
}

/* CPT Header */
.topppa-cpt-header {
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f8f9fa;
    border-radius: 6px 6px 0 0;
    border-bottom: 1px solid #dcdcde;
}

.topppa-cpt-header h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1d2327;
}

/* Action Buttons */
.topppa-cpt-actions button {
    padding: 6px 12px;
    margin-left: 8px;
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    color: #2c3338;
    transition: all 0.2s ease;
}

.topppa-cpt-actions .edit-cpt {
    background: #f0f0f1;
    color: #2271b1;
}

.topppa-cpt-actions .delete-cpt {
    color: #d63638;
}

.topppa-cpt-actions button:hover {
    background: #f0f0f1;
    border-color: #8c8f94;
}

.topppa-cpt-actions .delete-cpt:hover {
    background: #fcf0f1;
    border-color: #d63638;
}

/* CPT Form */
.topppa-cpt-form {
    padding: 20px;
    border-top: 1px solid #dcdcde;
    display: none; /* Hidden by default, will be shown on edit */
}

/* Section Styles */
.topppa-cpt-section {
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f0f0f1;
}

.topppa-cpt-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.topppa-cpt-section h5 {
    margin: 0 0 15px;
    padding: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1d2327;
}

/* Field Wrapper */
.topppa-cpt-field-wrapper {
    padding-top: 11px;
}

/* Field Group */
.topppa-cpt-field-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 0;
    background: transparent;
    padding: 0;
}

@media (max-width: 768px) {
    .topppa-cpt-field-group {
        grid-template-columns: 1fr;
    }
}

/* Label Field */
.topppa-cpt-label-field {
    margin-bottom: 15px;
}

.topppa-cpt-label-field:last-child {
    margin-bottom: 0;
}

.topppa-cpt-label-field label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #1d2327;
}

.topppa-cpt-label-field input[type="text"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    font-size: 14px;
    transition: border-color 0.2s ease;
}

.topppa-cpt-label-field input[type="text"]:focus {
    border-color: #2271b1;
    box-shadow: 0 0 0 1px #2271b1;
    outline: none;
}

/* Support Options */
.topppa-cpt-options {
    display: flex;
        gap: 19px;
        background: #f8f9fa;
        padding: 20px;
        border-radius: 6px;
        border: 1px solid #e2e4e7;
        align-items: center;
        flex-wrap: wrap;
}

.topppa-cpt-options label {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #1d2327;
    margin: 0;
}

.topppa-cpt-options input[type="checkbox"] {
    margin-right: 8px;
}

/* Taxonomies */
.topppa-cpt-taxonomies-list {
    margin-bottom: 20px;
}

/* Taxonomy Item Styles */
.topppa-cpt-taxonomy-item {
    position: relative;
    margin-bottom: 15px;
    padding: 15px;
    background: #f8f9fa;
    border: 1px solid #dcdcde;
    border-radius: 4px;
}

.topppa-taxonomy-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.topppa-taxonomy-name, .topppa-taxonomy-slug {
    flex: 1;
    min-width: 200px;
}

.topppa-cpt-taxonomy-item label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
}

.topppa-cpt-taxonomy-item input[type="text"] {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #dcdcde;
    border-radius: 4px;
}

.topppa-cpt-remove-taxonomy {
    position: absolute;
    right: 10px;
    top: 10px;
    padding: 5px 10px;
    background: #f6f7f7;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    cursor: pointer;
    color: #d63638;
}

.topppa-cpt-remove-taxonomy:hover {
    background: #fcf0f1;
    border-color: #d63638;
}

/* Add Taxonomy Button */
.topppa-cpt-add-taxonomy {
    padding: 8px 12px;
    background: #2271b1;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    max-width: 120px;
}

.topppa-cpt-add-taxonomy:hover {
    background: #135e96;
}

/* Meta */
.topppa-cpt-meta-list {
    margin-bottom: 20px;
}

/* Meta Item Styles */
.topppa-cpt-meta-item {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 15px;
    margin-bottom: 15px;
}

.topppa-cpt-meta-name, .topppa-cpt-meta-slug {
    margin-bottom: 15px;
    width: 49%;
    clear: both;
    display: inline-block;
}
.topppa-cpt-meta-name{
    margin-right: 15px;
}
.topppa-cpt-meta-field-group {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr auto;
    gap: 15px;
    margin-bottom: 15px;
    align-items: end;
    background: #fafafa;
    padding: 15px;
    border-radius: 4px;
    border: 1px solid #e0e0e0;
}

/* Field Options Container - Always Visible */
.topppa-cpt-meta-field-options-container {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

/* When Field Label is hidden, adjust grid to 3 columns plus options */
.topppa-cpt-meta-field-group.topppa-hide-show-label {
    grid-template-columns: 1fr 1fr 1fr auto;
}

.topppa-cpt-meta-field-group.topppa-hide-show-label .topppa-cpt-meta-field-label {
    display: none !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .topppa-cpt-meta-field-group {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .topppa-cpt-meta-field-group.topppa-hide-show-label {
        grid-template-columns: 1fr;
    }
    
    .topppa-cpt-meta-field-options-container {
        margin-top: 10px;
    }
}

/* Field label visibility rules - more specific */
.topppa-cpt-meta-field-group .topppa-cpt-meta-field-label {
    display: block !important;
}

/* Only hide labels for icon fields specifically */
.topppa-cpt-meta-field-group.topppa-hide-label .topppa-cpt-meta-field-label,
.topppa-cpt-meta-field-group .topppa-cpt-meta-field-label.topppa-hidden-for-icon {
    display: none !important;
}

/* Ensure labels are visible when not in hide state */
.topppa-cpt-meta-field-group:not(.topppa-hide-label) .topppa-cpt-meta-field-label:not(.topppa-hidden-for-icon) {
    display: block !important;
}

.topppa-cpt-meta-field-name,.topppa-cpt-meta-field-type {
    flex: 1;
}

.topppa-cpt-meta-field-name,
.topppa-cpt-meta-field-label,
.topppa-cpt-meta-field-type {
    flex: 1;
}

.topppa-cpt-meta-field-label {
    position: relative;
}

.topppa-cpt-meta-field-label input {
    width: 100%;
    color: #323232;
}

.topppa-cpt-meta-field-label input::placeholder {
    color: #999;
    font-style: italic;
}

/* Enhanced field label input styling */
.topppa-cpt-meta-field-label input[type="text"] {
    transition: all 0.3s ease;
    border: 1px solid #dcdcde;
}

.topppa-cpt-meta-field-label input[type="text"]:focus {
    border-color: #2271b1;
    box-shadow: 0 0 0 1px #2271b1;
    outline: none;
}

/* Auto-generated indicator */
.topppa-cpt-meta-field-label input[type="text"][data-auto-generated="true"] {
    background: linear-gradient(90deg, #f8f9fa 0%, #ffffff 100%);
    font-style: italic;
}

.topppa-cpt-meta-field-label input[type="text"][data-auto-generated="true"]::after {
    content: " (auto-generated)";
    color: #666;
    font-size: 11px;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

/* User-edited field label */
.topppa-cpt-meta-field-label input[type="text"][data-auto-generated="false"] {
    background: #ffffff;
    font-style: normal;
    border-left: 3px solid #00a32a;
}

.topppa-cpt-meta-item label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
}

.topppa-cpt-meta-item input[type="text"],.topppa-cpt-meta-field-type select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #dcdcde;
    border-radius: 4px;
}

button.topppa-cpt-remove-meta-field {
    height: 30px;
    width: 30px;
    background: #2271b1;
    border: 1px solid transparent;
    color: #ffffff;
    font-size: 22px;
    cursor: pointer;
    border-radius: 5px;
    margin-top: 0;
    position: absolute;
    right: 12px;
    top: 12px;
}
/* Add Meta Button */
.topppa-cpt-add-meta {
    padding: 8px 12px;
    background: #2271b1;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    max-width: 120px;
}

.topppa-cpt-add-meta:hover {
    background: #135e96;
}

/* Save Button */
#topppa-save-cpt-settings {
    padding: 10px 20px;
    background: #2271b1;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
}

#topppa-save-cpt-settings:hover {
    background: #135e96;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* Disabled save button styling */
#topppa-save-cpt-settings:disabled,
#topppa-save-cpt-settings.disabled {
    background: #dcdcde !important;
    color: #8c8f94 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
    opacity: 0.6;
}

#topppa-save-cpt-settings:disabled:hover,
#topppa-save-cpt-settings.disabled:hover {
    background: #dcdcde !important;
    color: #8c8f94 !important;
    box-shadow: none !important;
}

/* Message container */
#topppa-cpt-message {
    margin-top: 15px;
    padding: 10px 15px;
    border-radius: 4px;
    font-size: 14px;
}

#topppa-cpt-message span {
    display: inline-block;
    padding: 8px 12px;
    border-radius: 4px;
    background: #f8f9fa;
    border: 1px solid;
}

#topppa-cpt-message span[style*="green"] {
    background: #f0f6e6;
    border-color: #c5e1a5;
}

#topppa-cpt-message span[style*="red"] {
    background: #fcf0f1;
    border-color: #f5c2c7;
}

#topppa-cpt-message span[style*="#666"] {
    background: #f8f9fa;
    border-color: #dcdcde;
}

/* Post Type Wrap - New class for Basic Settings section */

/* Post Type Basic - Container for basic settings fields */
.topppa-cpt-post-type-basic {
    margin-top: 15px;
    padding: 15px;
    background-color: #f8f9fa;
    border-radius: 4px;
    border: 1px solid #e5e5e5;
}

.topppa-cpt-post-type-basic .topppa-cpt-field-wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.topppa-cpt-post-type-basic .topppa-cpt-field-group {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
}

.topppa-cpt-post-type-basic .topppa-cpt-label-field {
    flex: 1;
    min-width: 250px;
}

.topppa-cpt-post-type-basic label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
}

.topppa-cpt-post-type-basic input[type="text"] {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #dcdcde;
    border-radius: 4px;
}

/* Dashicons */
.topppa-cpt-icon-picker-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.topppa-cpt-icon-picker-button {
    margin-left: 10px;
}

.topppa-cpt-icon-preview .dashicons {
    font-size: 24px;
    vertical-align: middle;
}

.topppa-cpt-icon-picker-modal {
    background: #fff;
    border: 1px solid #ddd;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.topppa-cpt-icon-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(50px, 1fr));
    gap: 10px;
    margin-top: 20px;
}

.topppa-cpt-icon-list .dashicons {
    cursor: pointer;
    font-size: 24px;
    padding: 5px;
    border: 1px solid #ddd;
    border-radius: 3px;
    text-align: center;
}

.topppa-cpt-icon-list .dashicons:hover {
    background: #f5f5f5;
}

.topppa-cpt-meta-value {
    display: inline-block;
    margin-right: 20px;
    margin-bottom: 20px;
}

.topppa-cpt-accordion {
    border: 1px solid #ddd;
    margin-bottom: 10px;
    border-radius: 4px;
    overflow: hidden;
}
.topppa-cpt-accordion-title {
    background: #f5f5f5;
    padding: 10px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
}
.topppa-cpt-accordion-content {
    display: none;
    padding: 10px;
    background: #fff;
}
.topppa-cpt-meta-value-inner {
    margin-bottom: 10px;
    width: 20%;
    display: inline-block;
}
.topppa-cpt-meta-value-inner input {
    padding: 5px;
}
.topppa-cpt-remove-meta-value,
.topppa-cpt-add-meta-value {
    margin-top: 5px;
}

/* Dashicon Popup */
.topppa-dashicon-popup {
    position: absolute;
    z-index: 999999;
    width: 320px;
    max-width: 90vw;
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.topppa-dashicon-popup-header {
    display: flex;
    align-items: center;
    padding: 10px;
    border-bottom: 1px solid #dcdcde;
}

.topppa-dashicon-search {
    flex: 1;
    padding: 8px 10px;
    border: 1px solid #dcdcde;
    border-radius: 4px;
}

.topppa-dashicon-popup-close {
    background: none;
    border: none;
    font-size: 18px;
    font-weight: bold;
    color: #666;
    cursor: pointer;
    padding: 0 5px;
    margin-left: 5px;
}

.topppa-dashicon-popup-close:hover {
    color: #d63638;
}

.topppa-dashicon-list {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 5px;
    padding: 10px;
    max-height: 300px;
    overflow-y: auto;
}

.topppa-dashicon-list .dashicons {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    font-size: 20px;
    background: #f8f9fa;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.topppa-dashicon-list .dashicons:hover {
    background: #f0f0f1;
    border-color: #2271b1;
    color: #2271b1;
    transform: scale(1.1);
}

/* Meta Fields Container */
.topppa-cpt-meta-fields-container {
    margin-top: 15px;
}

/* Meta Tabs */
.topppa-cpt-meta-tabs-wrapper {
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.topppa-cpt-meta-tabs-nav {
    display: flex;
    border-bottom: 1px solid #dcdcde;
    background: #f8f9fa;
    border-radius: 4px 4px 0 0;
    margin: 0;
    padding: 0;
}

.topppa-cpt-meta-tab-nav {
    padding: 12px 20px;
    cursor: pointer;
    font-weight: 500;
    border-right: 1px solid #dcdcde;
    transition: all 0.2s ease;
    white-space: nowrap;
    text-transform: capitalize;
    background: #f8f9fa;
    color: #50575e;
    text-decoration: none;
    display: block;
    border-bottom: 2px solid transparent;
    position: relative;
}

.topppa-cpt-meta-tab-nav:last-child {
    border-right: none;
}

.topppa-cpt-meta-tab-nav:hover {
    background-color: #f0f0f1;
    color: #1d2327;
}

.topppa-cpt-meta-tab-nav.active {
    background-color: #fff;
    border-bottom: 2px solid #2271b1;
    margin-bottom: -1px;
    color: #2271b1;
    font-weight: 600;
}

.topppa-cpt-meta-tabs-content {
    padding: 20px;
    background: #fff;
    border-radius: 0 0 4px 4px;
}

.topppa-meta-tab-content {
    display: none;
    animation: fadeIn 0.3s ease-in-out;
}

.topppa-meta-tab-content.active {
    display: block;
}

/* Fade in animation for tab content */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Repeater Fields */
.topppa-cpt-accordion-field-group {
    position: relative;
    background: #f8f9fa;
}

.topppa-repeater-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    border-bottom: 1px solid #dcdcde;
    background: #f0f0f1;
    border-radius: 4px 4px 0 0;
}

.topppa-repeater-header h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
}

.topppa-repeater-controls {
    display: flex;
    gap: 5px;
}

.topppa-repeater-controls button {
    padding: 2px 5px !important;
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.4 !important;
}

.topppa-repeater-controls .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    line-height: 1;
}

.topppa-repeater-content {
    padding: 15px;
    background: #fff;
    border-radius: 0 0 4px 4px;
    display: block;
}

/* Ensure meta fields display properly */
.topppa-repeater-content .topppa-cpt-meta-value-inner {
    margin-bottom: 15px;
    width: 100%;
    max-width: 100%;
    display: block;
    background: #f5f5f5;
    padding: 20px;
    border-radius: 5px;
}
.topppa-repeater-content .topppa-field-with-icon-wrapper .topppa-cpt-meta-value-inner{
    background-color: transparent;
    padding: 0px;
    border-radius: 0px;
}

.topppa-repeater-content .topppa-cpt-meta-value-inner:last-child {
    margin-bottom: 0;
}

/* Field Styling */
.topppa-cpt-meta-value-inner {
    margin-bottom: 15px;
    position: relative;
}

.topppa-cpt-meta-value-inner label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    font-size: 13px;
    color: #1d2327;
}

.topppa-cpt-meta-value-inner input[type="text"],
.topppa-cpt-meta-value-inner input[type="number"],
.topppa-cpt-meta-value-inner input[type="email"],
.topppa-cpt-meta-value-inner input[type="url"],
.topppa-cpt-meta-value-inner textarea,
.topppa-cpt-meta-value-inner select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
    transition: border-color 0.2s ease;
}

.topppa-cpt-meta-value-inner input:focus,
.topppa-cpt-meta-value-inner textarea:focus,
.topppa-cpt-meta-value-inner select:focus {
    border-color: #2271b1;
    box-shadow: 0 0 0 1px #2271b1;
    outline: none;
}

/* Checkbox & Radio Styling */
.topppa-checkbox-label {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}

.topppa-checkbox-label input {
    margin-right: 8px;
}

.topppa-radio-group {
    display: flex;
    gap: 15px;
}

.topppa-radio-group label {
    display: flex;
    align-items: center;
    margin-bottom: 0;
}

.topppa-radio-group input {
    margin-right: 5px;
}

/* Media Fields */
.topppa-media-uploader-wrapper,
.topppa-gallery-uploader-wrapper {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.topppa-media-preview,
.topppa-gallery-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
    min-height: 60px;
    padding: 10px;
    background: #f0f0f1;
    border: 1px dashed #dcdcde;
    border-radius: 4px;
}

.topppa-gallery-image {
    position: relative;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    overflow: hidden;
    width: 80px;
    height: 80px;
}

.topppa-gallery-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.topppa-media-buttons,
.topppa-gallery-buttons {
    display: flex;
    gap: 10px;
}

/* Add Field Button */
.topppa-cpt-add-meta-value {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    width: 100%;
    padding: 8px !important;
    background: #f8f9fa !important;
    border: 1px dashed #dcdcde !important;
    color: #2271b1 !important;
    transition: all 0.2s ease;
}

.topppa-cpt-add-meta-value:hover {
    background: #f0f0f1 !important;
    border-color: #2271b1 !important;
}

.topppa-cpt-add-meta-value .dashicons {
    margin-right: 5px;
}

/* Icon Picker */
.topppa-icon-picker-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.dashicon-preview {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    background: #f0f0f1;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    font-size: 20px;
}

/* Font Awesome Icon Picker */
.topppa-dashicon-popup {
    position: absolute;
    z-index: 999999;
    width: 320px;
    max-width: 90vw;
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.topppa-dashicon-popup-header {
    display: flex;
    align-items: center;
    padding: 10px;
    border-bottom: 1px solid #dcdcde;
}

.topppa-dashicon-search {
    flex: 1;
    padding: 8px 10px;
    border: 1px solid #dcdcde;
    border-radius: 4px;
}

.topppa-dashicon-popup-close {
    background: none;
    border: none;
    font-size: 18px;
    font-weight: bold;
    color: #666;
    cursor: pointer;
    padding: 0 5px;
    margin-left: 5px;
}

.topppa-dashicon-popup-close:hover {
    color: #d63638;
}

.topppa-dashicon-list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    padding: 10px;
    max-height: 300px;
    overflow-y: auto;
}

.fa-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #f8f9fa;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.fa-icon-wrapper i {
    font-size: 18px;
    color: #3c434a;
}

.fa-icon-wrapper:hover {
    background: #f0f0f1;
    border-color: #2271b1;
}

.fa-icon-wrapper:hover i {
    color: #2271b1;
    transform: scale(1.1);
}

/* Icon Picker Modal */
.topppa-cpt-icon-picker-modal {
    border-radius: 8px !important;
    overflow: hidden;
}

.topppa-cpt-icon-list {
    grid-template-columns: repeat(auto-fill, minmax(40px, 1fr)) !important;
}

.topppa-cpt-icon-list i {
    font-size: 16px;
    color: #3c434a;
}

/* Select Field */
.topppa-select-field {
    background-color: #fff;
    height: 36px;
}

/* Improved Accordion */
.topppa-cpt-accordion {
    margin-bottom: 20px;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.topppa-cpt-accordion-title {
    padding: 12px 15px;
    background: #f8f9fa;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 4px 4px 0 0;
}

.topppa-cpt-accordion-title strong {
    font-size: 14px;
    font-weight: 600;
    color: #1d2327;
    text-transform: capitalize;
}

.topppa-cpt-accordion-toggle {
    font-size: 18px;
    font-weight: bold;
    color: #2271b1;
    transition: transform 0.2s ease;
}

.topppa-cpt-accordion-content {
    padding: 15px;
    background: #fff;
    border-radius: 0 0 4px 4px;
    display: none;
}

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

.topppa-cpt-meta-options {
    display: flex;
    margin: 10px 0 15px;
    border-bottom: 1px solid #eee;
    justify-content: flex-end;
}
.topppa-cpt-meta-options label{
    padding:0px;
    margin-bottom: 0;
}
.topppa-cpt-meta-field-group input[readonly] {
    background-color: #f8f8f8;
    border-color: #ddd;
    color: #666;
    cursor: not-allowed;
}

.topppa-cpt-meta-field-group select:disabled {
    background-color: #f8f8f8;
    border-color: #ddd;
    color: #666;
    cursor: not-allowed;
}

/* Social Icons Styling for frontend */
.topppa-cpt-meta-social-links {
    margin: 10px 0;
}

.topppa-cpt-meta-social-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 10px;
}

.topppa-cpt-meta-social-links li {
    display: inline-block;
}

.topppa-cpt-meta-social-links a {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 50%;
    background: #333;
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
}

.topppa-cpt-meta-social-links a:hover {
    background: #555;
    transform: scale(1.1);
}

/* Responsive Design */
@media (max-width: 768px) {
    .topppa-cpt-meta-field-group {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

/* CPT Meta Options */
.topppa-cpt-meta-repeater {
    margin-bottom: 10px;
}

.topppa-cpt-meta-repeater input[type="checkbox"] {
    margin-right: 8px;
}

.topppa-cpt-meta-repeater label {
    font-weight: 500;
    color: #333;
}

/* Meta Fields Container */
.topppa-cpt-meta-fields {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 15px;
    background-color: #f9f9f9;
    margin-bottom: 10px;
}

/* Field Group Styling */
.topppa-cpt-meta-field-group {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr auto;
    gap: 15px;
    margin-bottom: 15px;
    align-items: end;
    background: #fafafa;
    padding: 15px;
    border-radius: 4px;
    border: 1px solid #e0e0e0;
    position: relative;
}

.topppa-cpt-meta-field-group:last-child {
    margin-bottom: 0;
}

/* Show Icon switch rules */
.topppa-cpt-meta-field-show-icon {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 6px 10px;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.topppa-cpt-meta-field-show-label {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 6px 10px;
    background: #f0f6fc;
    border: 1px solid #c3d4e6;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.topppa-cpt-meta-field-show-icon label,
.topppa-cpt-meta-field-show-label label {
    display: flex;
    align-items: center;
    margin: 0;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
    font-size: 13px;
    color: #1d2327;
}

.topppa-cpt-meta-field-show-icon input[type="checkbox"],
.topppa-cpt-meta-field-show-label input[type="checkbox"] {
    margin: 0 8px 0 0;
    transform: scale(1.1);
}

.topppa-cpt-meta-field-show-icon:hover,
.topppa-cpt-meta-field-show-label:hover {
    border-color: #2271b1;
    background: #f0f6fc;
}

/* Author Info Styles */
.topppa-author-info {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 15px;
    background: #f9f9f9;
    border-radius: 8px;
    border-left: 4px solid #2271b1;
}

.topppa-author-name {
    font-weight: 600;
    font-size: 16px;
    color: #1e1e1e;
    margin-bottom: 5px;
}

.topppa-author-avatar {
    flex-shrink: 0;
}

.topppa-author-avatar img {
    border-radius: 50%;
    border: 2px solid #ddd;
}

.topppa-author-details {
    flex: 1;
}

.topppa-author-roles {
    margin-bottom: 10px;
}

.topppa-author-role {
    display: inline-block;
    background: #2271b1;
    color: white;
    padding: 3px 8px;
    font-size: 12px;
    border-radius: 12px;
    margin-right: 5px;
    margin-bottom: 3px;
}

.topppa-author-bio {
    color: #666;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 10px;
}

.topppa-author-link a {
    color: #2271b1;
    text-decoration: none;
    font-size: 14px;
}

.topppa-author-link a:hover {
    text-decoration: underline;
    color: #135e96;
}

/* Compact version for smaller containers */
.topppa-cpt-meta-item.topppa-compact .topppa-author-info {
    flex-direction: column;
    text-align: center;
}

.topppa-cpt-meta-item.topppa-compact .topppa-author-avatar {
    align-self: center;
}

.topppa-cpt-meta-item.topppa-compact .topppa-author-details {
    text-align: center;
}

/* Taxonomy Field Styles */
.topppa-taxonomy-terms {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 5px 0;
}

/* Auto-generated taxonomy slug styling */
.topppa-taxonomy-slug-input[data-auto-generated="true"] {
    background: linear-gradient(90deg, #f0f9ff 0%, #ffffff 100%);
    border-left: 3px solid #2271b1;
    font-style: italic;
    color: #2271b1;
}

.topppa-taxonomy-slug-input[data-auto-generated="true"]::placeholder {
    color: #2271b1;
    opacity: 0.7;
}

/* Taxonomy auto-generation indicator */
.topppa-taxonomy-slug {
    position: relative;
}

.topppa-taxonomy-slug-input[data-auto-generated="true"] + .auto-generated-indicator {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 11px;
    color: #2271b1;
    background: #f0f9ff;
    padding: 2px 6px;
    border-radius: 3px;
    border: 1px solid #2271b1;
    pointer-events: none;
}

/* Auto-generated slug class styling */
.auto-generated-slug {
    background: linear-gradient(90deg, #f0f9ff 0%, #ffffff 100%) !important;
    border-left: 3px solid #2271b1 !important;
    font-style: italic !important;
    color: #2271b1 !important;
}

.auto-generated-slug:focus {
    border-color: #2271b1 !important;
    box-shadow: 0 0 0 1px #2271b1 !important;
}

/* Tooltip for auto-generated slugs */
.topppa-taxonomy-slug-input[data-auto-generated="true"]:hover::after {
    content: "Auto-generated based on CPT slug";
    position: absolute;
    top: -30px;
    left: 0;
    background: #333;
    color: white;
    padding: 5px 8px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    z-index: 1000;
    pointer-events: none;
}

/* Validation error styling */
.topppa-taxonomy-slug-input.validation-error {
    border-color: #d63638 !important;
    box-shadow: 0 0 0 1px #d63638 !important;
    background-color: #fcf0f1 !important;
}

.validation-message {
    margin-top: 5px;
    padding: 8px 12px;
    background: #fcf0f1;
    border: 1px solid #f5c2c7;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.4;
}

.validation-message strong {
    color: #2271b1;
    font-weight: 600;
}

.topppa-taxonomy-term-link,
.topppa-taxonomy-term {
    display: inline-block;
    background: #f0f0f1;
    color: #2c3e50;
    padding: 4px 10px;
    border-radius: 15px;
    text-decoration: none;
    font-size: 14px;
    border: 1px solid #ddd;
    transition: all 0.3s ease;
}

.topppa-taxonomy-term-link:hover {
    background: #2271b1;
    color: white;
    text-decoration: none;
    border-color: #2271b1;
}

.topppa-taxonomy-term {
    background: #e7f3ff;
    border-color: #b8d4ea;
}

.topppa-no-terms {
    color: #8c8f94;
    font-style: italic;
    font-size: 13px;
}

/* Enhanced Icon Field Styles */

/* CPT Builder - Icon Field Configuration */
.topppa-cpt-meta-field-icon-url {
    margin-top: 15px;
}

.topppa-cpt-meta-field-icon-url label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #1d2327;
}

.topppa-cpt-meta-field-icon-url input[type="url"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    font-size: 14px;
    transition: border-color 0.2s ease;
}

.topppa-cpt-meta-field-icon-url input[type="url"]:focus {
    border-color: #2271b1;
    outline: none;
    box-shadow: 0 0 0 1px #2271b1;
}

/* Post Editor - Icon Field Layout */
.topppa-icon-field-wrapper {
    margin-bottom: 20px;
}

.topppa-icon-field-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    align-items: start;
}

.topppa-icon-name-field,
.topppa-icon-url-field {
    display: flex;
    flex-direction: column;
}

.topppa-icon-picker-field {
    grid-column: 1 / -1;
    margin-top: 10px;
}

.topppa-icon-name-field label,
.topppa-icon-url-field label,
.topppa-icon-picker-field label {
    display: block;
    margin-bottom: 5px;
    font-weight: 500;
    color: #1d2327;
}

.topppa-icon-name-field input,
.topppa-icon-url-field input {
    padding: 8px 12px;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    font-size: 14px;
}

.topppa-icon-name-field input:focus,
.topppa-icon-url-field input:focus {
    border-color: #2271b1;
    outline: none;
    box-shadow: 0 0 0 1px #2271b1;
}

/* Widget Display - Icon Field Display */
.topppa-icon-field-display {
    display: flex;
    align-items: center;
    gap: 8px;
}

.topppa-icon-field-display .topppa-icon-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
}

.topppa-icon-field-display .topppa-icon-link:hover {
    color: #2271b1;
}

.topppa-icon-field-display i {
    font-size: 18px;
    line-height: 1;
}

.topppa-icon-name {
    font-weight: 500;
    color: #1d2327;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .topppa-icon-field-group {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .topppa-icon-picker-field {
        grid-column: 1;
        margin-top: 5px;
    }
}

/* Style for Show Icon switch */
.topppa-cpt-meta-field-show-icon {
  margin-top: 10px;
}

.topppa-cpt-meta-field-show-icon label {
  display: flex;
  align-items: center;
  font-weight: 500;
  cursor: pointer;
  user-select: none;
}

.topppa-cpt-meta-field-show-icon input[type="checkbox"] {
  margin-right: 8px;
  width: 16px;
  height: 16px;
  cursor: pointer;
}

.topppa-cpt-meta-field-show-icon label:hover {
  color: #2271b1;
}

/* Hide Show Icon switch for certain field types */
.topppa-cpt-meta-field-group .topppa-cpt-meta-field-show-icon.topppa-hidden-show-icon {
  display: none !important;
}

/* Style for fields with show_icon enabled */
.topppa-field-with-icon-wrapper {
  border: 2px solid #c3d4e6;
  border-radius: 6px;
  padding: 20px;
  margin-bottom: 20px;
  background-color: #f8fafc;
  position: relative;
}

.topppa-field-with-icon-wrapper::before {
  content: "Field with Icon";
  position: absolute;
  top: -10px;
  left: 15px;
  background: #f8fafc;
  padding: 0 8px;
  font-size: 11px;
  font-weight: 600;
  color: #2271b1;
  text-transform: uppercase;
}

.topppa-field-with-icon-wrapper .topppa-cpt-meta-value-inner {
  margin-bottom: 0;
}

/* Field Name Header Styling */
.topppa-field-name-header {
    margin-bottom: 15px;
    padding-bottom: 8px;
    border-bottom: 2px solid #e0e0e0;
}

.topppa-field-name-header h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #2271b1;
    text-transform: capitalize;
    display: flex;
    align-items: center;
}

.topppa-field-name-header h4::before {
    content: "📝";
    margin-right: 8px;
    font-size: 14px;
}

/* Icon field name header styling */
.topppa-field-type-icon .topppa-field-name-header h4::before {
    content: "🎯";
}

/* Field with icon wrapper - field name header */
.topppa-field-with-icon .topppa-field-name-header {
    background: #f0f6fc;
    padding: 10px 15px;
    margin: -15px -15px 15px -15px;
    border-radius: 4px 4px 0 0;
    border-bottom: 2px solid #c3d4e6;
}

.topppa-field-with-icon .topppa-field-name-header h4 {
    color: #1d2327;
    font-weight: 700;
}

.topppa-field-with-icon .topppa-field-name-header h4::before {
    content: "🏷️";
}

/* Field structure styling for post editor */
.topppa-field-label-input {
    margin-bottom: 15px;
}

.topppa-field-label-input label {
    display: block;
    font-weight: 600;
    margin-bottom: 5px;
    color: #1d2327;
    font-size: 13px;
}

.topppa-field-label-input input[type="text"] {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #8c8f94;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    background: #fff;
}

.topppa-field-label-input input[type="text"]:focus {
    border-color: #2271b1;
    outline: none;
    box-shadow: 0 0 0 1px #2271b1;
}

.topppa-field-content-input {
    margin-bottom: 15px;
}

.topppa-field-content-input label {
    display: block;
    font-weight: 500;
    margin-bottom: 5px;
    color: #1d2327;
    font-size: 13px;
}

.topppa-field-content-input input,
.topppa-field-content-input textarea,
.topppa-field-content-input select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    font-size: 14px;
}

.topppa-field-content-input input:focus,
.topppa-field-content-input textarea:focus,
.topppa-field-content-input select:focus {
    border-color: #2271b1;
    outline: none;
    box-shadow: 0 0 0 1px #2271b1;
}

.topppa-field-content-input textarea {
    resize: vertical;
    min-height: 80px;
}

/* Field Icon Picker Styling */
.topppa-field-icon-picker {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #e0e0e0;
}

.topppa-field-icon-picker label {
    display: block;
    font-weight: 500;
    margin-bottom: 5px;
    color: #333;
}

.topppa-field-icon-picker .topppa-icon-picker-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.topppa-field-icon-picker .topppa-dashicon-select {
    padding: 6px 12px;
    border: 1px solid #ccd0d4;
    border-radius: 3px;
    background: #f6f7f7;
    cursor: pointer;
}

.topppa-field-icon-picker .topppa-dashicon-select:hover {
    background: #e9ecef;
    border-color: #8c8f94;
}

.topppa-field-icon-picker .dashicon-preview {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ccd0d4;
    border-radius: 3px;
    background: #fff;
}

.topppa-field-icon-picker .dashicon-preview .dashicons,
.topppa-field-icon-picker .dashicon-preview i {
    font-size: 16px;
    color: #2271b1;
    width: 16px;
    height: 16px;
}

/* Ensure labels are always visible for fields with show_icon enabled */
.topppa-cpt-meta-value-inner.topppa-field-with-icon {
    /* Don't hide labels for fields with show_icon enabled */
}

.topppa-cpt-meta-value-inner.topppa-field-with-icon label {
    display: block !important;
    visibility: visible !important;
    font-weight: 500;
    margin-bottom: 5px;
    color: #333;
}

/* Hide field labels when Show Label is disabled - Updated selectors */
.topppa-cpt-meta-field-group.topppa-hide-show-label .topppa-cpt-meta-field-label,
.topppa-cpt-meta-field-group .topppa-cpt-meta-field-label.topppa-hidden-for-show-label,
.topppa-cpt-meta-field-label.topppa-hidden-for-show-label,
.topppa-cpt-meta-field-group.topppa-hide-show-label .topppa-cpt-meta-field-label input[type="text"],
.topppa-cpt-meta-field-label.topppa-hidden-for-show-label input[type="text"],
.topppa-cpt-meta-field-group.topppa-hide-show-label .topppa-cpt-meta-field-label label,
.topppa-cpt-meta-field-label.topppa-hidden-for-show-label label {
    display: none !important;
}

/* Hide elements for icon field types */
.topppa-cpt-meta-field-label.topppa-hidden-for-icon,
.topppa-cpt-meta-field-show-icon-inline.topppa-hidden-show-icon,
.topppa-cpt-meta-field-show-label-inline.topppa-hidden-show-label {
    display: none !important;
}

/* Ensure Show Label checkbox container is always visible */
.topppa-cpt-meta-field-show-label-inline {
    display: block !important;
}

/* Make sure field label is visible when Show Label is enabled */
.topppa-cpt-meta-field-group:not(.topppa-hide-show-label) .topppa-cpt-meta-field-label:not(.topppa-hidden-for-icon):not(.topppa-hidden-for-show-label) {
    display: block !important;
}

.topppa-cpt-meta-field-group:not(.topppa-hide-show-label) .topppa-cpt-meta-field-label:not(.topppa-hidden-for-icon):not(.topppa-hidden-for-show-label) input[type="text"] {
    display: block !important;
}

.topppa-cpt-meta-field-group:not(.topppa-hide-show-label) .topppa-cpt-meta-field-label:not(.topppa-hidden-for-icon):not(.topppa-hidden-for-show-label) label {
    display: block !important;
}

/* Additional rule for direct targeting */
.topppa-cpt-meta-field-label:not(.topppa-hidden-for-icon):not(.topppa-hidden-for-show-label) {
    display: flex !important;
    flex-direction: column;
}

/* Override any conflicting display rules */
.topppa-cpt-meta-field-group .topppa-cpt-meta-field-label {
    display: flex !important;
    flex-direction: column;
}

.topppa-cpt-meta-field-group.topppa-hide-show-label .topppa-cpt-meta-field-label,
.topppa-cpt-meta-field-group .topppa-cpt-meta-field-label.topppa-hidden-for-show-label,
.topppa-cpt-meta-field-label.topppa-hidden-for-show-label {
    display: none !important;
}

/* Post Editor - Hide field labels when show_label is disabled */
.topppa-cpt-meta-value-inner.topppa-hide-field-label .topppa-field-label-input {
    display: none !important;
}

/* Adjust spacing when label is hidden in post editor */
.topppa-cpt-meta-value-inner.topppa-hide-field-label .topppa-field-content-input {
    margin-top: 0;
}
.topppa-cpt-section .topppa-cpt-meta-item button.topppa-cpt-add-meta-field,
.topppa-cpt-section .topppa-cpt-meta-item button.topppa-cpt-remove-meta {
    padding: 5px 10px;
    background: #2271b1;
    border-radius: 5px;
    color: #ffffff;
    font-size: 90%;
}
.topppa-cpt-section .topppa-cpt-meta-item button.topppa-cpt-remove-meta{
    background-color: #dc3232;
}
.topppa-cpt-section .topppa-cpt-meta-options .topppa-cpt-meta-repeater {
    display: flex;
    align-items: center;
    background: #2271b1;
    padding: 5px 10px;
    border-radius: 5px;
    cursor: pointer;
}
.topppa-cpt-section .topppa-cpt-meta-options .topppa-cpt-meta-repeater label {
    color: #ffffff;
    cursor: pointer;
}

/* CPT Builder Meta Accordion Styles */
.topppa-cpt-accordion-meta-group {
    background: #fff;
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    margin-bottom: 20px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: all 0.2s ease;
}

.topppa-cpt-accordion-meta-group:hover {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
}

.topppa-cpt-meta-accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #f0f0f1 100%);
    border-bottom: 1px solid #e1e5e9;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
}

.topppa-cpt-meta-accordion-header:hover {
    background: linear-gradient(135deg, #f0f0f1 0%, #e8e9ea 100%);
}

.topppa-cpt-meta-accordion-title {
    display: flex;
    align-items: center;
    flex: 1;
}

.topppa-meta-name-display {
    font-size: 16px;
    font-weight: 600;
    color: #1d2327;
    text-transform: capitalize;
    display: flex;
    align-items: center;
}

.topppa-meta-name-display::before {
    content: "📋";
    margin-right: 8px;
    font-size: 14px;
}

.topppa-cpt-meta-accordion-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: #fff;
    border: 1px solid #c3d4e6;
    border-radius: 50%;
    transition: all 0.2s ease;
}

.topppa-cpt-meta-accordion-toggle:hover {
    background: #f0f6fc;
    border-color: #2271b1;
}

.topppa-accordion-icon {
    font-size: 18px;
    font-weight: bold;
    color: #2271b1;
    transition: transform 0.2s ease;
    line-height: 1;
}

.topppa-cpt-meta-accordion-content {
    padding: 20px;
    background: #fff;
    display: block;
    transition: all 0.3s ease;
}

/* Collapsed state */
.topppa-cpt-accordion-meta-group.collapsed .topppa-cpt-meta-accordion-content {
    display: none;
}

.topppa-cpt-accordion-meta-group.collapsed .topppa-accordion-icon::before {
    content: "+";
}

.topppa-cpt-accordion-meta-group:not(.collapsed) .topppa-accordion-icon::before {
    content: "−";
}

/* Style the meta name input to update accordion title */
.topppa-meta-name-input {
    font-weight: 500;
}

/* Responsive adjustments for accordion */
@media (max-width: 768px) {
    .topppa-cpt-meta-accordion-header {
        padding: 12px 15px;
    }
    
    .topppa-meta-name-display {
        font-size: 14px;
    }
    
    .topppa-cpt-meta-accordion-content {
        padding: 15px;
    }
}
.topppa-meta-tab-content .topppa-media-preview img {
    width: auto;
}
.topppa-cpt-meta-value-inner .wp-editor-wrap.html-active .quicktags-toolbar {
    display: flex;
    justify-content: flex-start;
}

.topppa-cpt-meta-value-inner .wp-editor-wrap.html-active .quicktags-toolbar input[type=button] {
    width: auto;
}
.topppa-field-content-input input[type=checkbox] {
    width: auto;
}