.wpcfg-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    border: 0;
    border-radius: 6px;
    background: #111827;
    color: #fff;
    cursor: pointer;
}

.wpcfg-alert {
    padding: 12px;
    border: 1px solid #f5c2c7;
    border-radius: 6px;
    background: #f8d7da;
    color: #842029;
}

.wpcfg-modal[hidden] {
    display: none;
}

.wpcfg-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5vh 5vw;
    background: rgba(17, 24, 39, 0.68);
}

.wpcfg-modal__dialog {
    width: 90vw;
    height: 90vh;
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.wpcfg-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 56px;
    padding: 0 16px;
    border-bottom: 1px solid #e5e7eb;
}

.wpcfg-modal__close {
    border: 0;
    background: transparent;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.wpcfg-iframe {
    display: block;
    width: 100%;
    height: calc(90vh - 56px);
    border: 0;
    background: #fff;
}

.wpcfg-modal-open {
    overflow: hidden;
}

.wpcfg-admin-root {
    height: calc(100vh - 220px);
    min-height: 640px;
}

.wpcfg-admin-iframe {
    height: 100%;
}

.wpcfg-cart-preview {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background: #fff;
    cursor: zoom-in;
}

.cfg-zoom-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.82);
    z-index: 999999;
    align-items: center;
    justify-content: center;
    cursor: zoom-out;
}

.cfg-zoom-overlay.cfg-zoom-visible {
    display: flex;
}

.cfg-zoom-img {
    max-width: 90vw;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 6px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6);
}

.wpcfg-config-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.wpcfg-config-item-media,
.wpcfg-config-item-color {
    display: inline-block;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border: 1px solid #d1d5db;
    border-radius: 3px;
    background: #fff;
    object-fit: cover;
    vertical-align: middle;
}
