/*
 * Styling for the Kassettruloo frontend configurator. Uses
 * yellow tones and clean layout reminiscent of picture frame
 * designer aesthetics. Make sure these styles do not conflict with
 * theme styles by prefixing with kr- classes.
 */
.kassettruloo-configurator-wrapper {
    border: 1px solid #f0d084;
    background: #fff8e1;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    max-width: 600px;
}
.kassettruloo-configurator-wrapper .kr-heading {
    margin-top: 0;
    font-size: 1.4em;
    font-weight: bold;
    color: #795548;
}
.kassettruloo-configurator-wrapper .kr-intro {
    margin-bottom: 20px;
    color: #6d4c41;
}
.kassettruloo-configurator-form .kr-field {
    margin-bottom: 15px;
}

/* Layout rows: put two fields on one line */
.kassettruloo-configurator-form .kr-row {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}
.kassettruloo-configurator-form .kr-row .kr-field {
    flex: 1 1 0;
    margin-bottom: 0;
}
.kassettruloo-configurator-form .kr-field label {
    display: block;
    margin-bottom: 4px;
    font-weight: 600;
    color: #5d4037;
}
.kassettruloo-configurator-form input[type="number"] {
    width: 100%;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}
.kassettruloo-configurator-form .kr-group-select label,
.kassettruloo-configurator-form .kr-profile-select label,
.kassettruloo-configurator-form .kr-chain-select label,
.kassettruloo-configurator-form .kr-install-select label {
    display: inline-block;
    margin-right: 10px;
    font-weight: normal;
}
/* Swatches list: scrollable vertical list with image previews */
.kr-swatches {
    max-height: 180px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border: 1px solid #e0e0e0;
    padding: 6px;
    background: #fff;
}
.kr-swatches .kr-swatch {
    border: 2px solid transparent;
    padding: 4px;
    cursor: pointer;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
}
.kr-swatches .kr-swatch img {
    display: block;
    width: 32px;
    height: 32px;
    object-fit: cover;
    border-radius: 4px;
}
.kr-swatches .kr-swatch span {
    flex: 1;
    line-height: 1.2;
    color: #5d4037;
}
.kr-swatches .kr-swatch.selected {
    border-color: #fbc02d;
    background: #fffde7;
}
.kr-summary {
    margin-top: 10px;
    font-size: 1.2em;
    font-weight: bold;
    color: #5d4037;
}
.kr-add-to-cart {
    display: inline-block;
    background-color: #ffc107;
    border: none;
    color: #fff;
    padding: 10px 20px;
    border-radius: 4px;
    font-size: 1em;
    cursor: pointer;
    margin-top: 10px;
    transition: background-color 0.2s ease;
}
.kr-add-to-cart:hover:not(:disabled) {
    background-color: #ffb300;
}
.kr-add-to-cart:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}