/* Twelve Grid Tool
 * ---------------- */

.twelve-grid-tool {
    max-width: 720px;
}

.twelve-grid-tool__pick-color,
.twelve-grid-tool__grid-area {
    margin-bottom: 2rem;
}

.twelve-grid-tool__swatches {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.twelve-grid-tool__selected-swatch {
    width: 96px;
    height: 96px;
    flex-shrink: 0;
    border: 1px solid #333;
    background-color: #000000;
    box-sizing: border-box;
}

.twelve-grid-tool__palette {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-content: flex-start;
}

.twelve-grid-tool__palette-swatch {
    width: 32px;
    height: 32px;
    border: 1px solid #333;
    box-sizing: border-box;
    cursor: pointer;
    padding: 0;
}

.twelve-grid-tool__palette-swatch.is-selected {
    outline: 2px solid #333;
    outline-offset: 2px;
}

.twelve-grid-tool__custom-color {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.twelve-grid-tool__custom-color input[type="color"] {
    width: 48px;
    height: 32px;
    padding: 0;
    border: 1px solid #333;
    background: transparent;
    cursor: pointer;
}

.twelve-grid-tool__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 0;
    width: 100%;
    max-width: 480px;
    border: 1px solid #333;
    box-sizing: border-box;
}

.twelve-grid-tool__cell {
    aspect-ratio: 1 / 1;
    background-color: #ffffff;
    border: 1px solid #ccc;
    box-sizing: border-box;
    cursor: pointer;
    padding: 0;
}
