.image-select-grid-c282c332 {
display: grid;
grid-template-columns: repeat(var(--is-columns, 3), 1fr);
gap: var(--is-gap, 12px);
width: 100%;
}
.image-select-item-c282c332 {
cursor: pointer;
display: block;
}
.image-select-input-c282c332 {
position: absolute;
opacity: 0;
width: 0;
height: 0;
pointer-events: none;
}
.image-select-visual-c282c332 {
display: flex;
flex-direction: column;
align-items: center;
border: var(--is-border-width, 2px) solid var(--is-border-color, #ddd);
border-radius: var(--is-radius, 8px);
padding: var(--is-padding, 10px);
transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.15s ease;
position: relative;
overflow: hidden;
background: #fff;
}
.image-select-visual-c282c332:hover {
border-color: color-mix(in srgb, var(--is-active-color, #0073aa) 50%, transparent);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
transform: translateY(-1px);
}
.image-select-input-c282c332:checked + .image-select-visual-c282c332 {
border-color: var(--is-active-color, #0073aa);
box-shadow: 0 0 0 2px color-mix(in srgb, var(--is-active-color, #0073aa) 25%, transparent);
}
.image-select-img-wrap-c282c332 {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
}
.image-select-img-wrap-c282c332 img {
width: 100%;
height: var(--is-img-height, 150px);
object-fit: var(--is-object-fit, contain);
border-radius: calc(var(--is-radius, 8px) - 2px);
margin-bottom: 8px;
}
.image-select-label-c282c332 {
font-size: var(--is-label-size, 13px);
font-weight: 500;
color: #333;
text-align: center;
line-height: 1.3;
}
.image-select-check-c282c332 {
position: absolute;
top: 8px;
right: 8px;
width: 24px;
height: 24px;
background: var(--is-active-color, #0073aa);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
transform: scale(0.5);
transition: opacity 0.2s ease, transform 0.2s ease;
}
.image-select-check-c282c332 svg {
width: 14px;
height: 14px;
color: #fff;
}
.image-select-input-c282c332:checked + .image-select-visual-c282c332 .image-select-check-c282c332 {
opacity: 1;
transform: scale(1);
} .image-select-input-c282c332:focus-visible + .image-select-visual-c282c332 {
outline: 2px solid var(--is-active-color, #0073aa);
outline-offset: 2px;
} @media (max-width: 1024px) {
.image-select-grid-c282c332 {
grid-template-columns: repeat(var(--is-columns-tablet, 2), 1fr);
}
} @media (max-width: 767px) {
.image-select-grid-c282c332 {
grid-template-columns: repeat(var(--is-columns-mobile, 1), 1fr);
gap: var(--is-mobile-gap, 6px);
} .image-select-grid-c282c332[data-mobile-layout="horizontal-left"] .image-select-visual-c282c332 {
flex-direction: row;
align-items: center;
padding: var(--is-mobile-padding, 6px);
}
.image-select-grid-c282c332[data-mobile-layout="horizontal-left"] .image-select-img-wrap-c282c332 {
width: var(--is-mobile-img-size, 50px);
min-width: var(--is-mobile-img-size, 50px);
height: var(--is-mobile-img-size, 50px);
flex-shrink: 0;
}
.image-select-grid-c282c332[data-mobile-layout="horizontal-left"] .image-select-img-wrap-c282c332 img {
width: 100%;
height: 100%;
object-fit: var(--is-object-fit, contain);
margin-bottom: 0;
border-radius: calc(var(--is-radius, 8px) - 2px);
}
.image-select-grid-c282c332[data-mobile-layout="horizontal-left"] .image-select-label-c282c332 {
text-align: left;
padding-left: 10px;
flex: 1;
} .image-select-grid-c282c332[data-mobile-layout="horizontal-right"] .image-select-visual-c282c332 {
flex-direction: row-reverse;
align-items: center;
padding: var(--is-mobile-padding, 6px);
}
.image-select-grid-c282c332[data-mobile-layout="horizontal-right"] .image-select-img-wrap-c282c332 {
width: var(--is-mobile-img-size, 50px);
min-width: var(--is-mobile-img-size, 50px);
height: var(--is-mobile-img-size, 50px);
flex-shrink: 0;
}
.image-select-grid-c282c332[data-mobile-layout="horizontal-right"] .image-select-img-wrap-c282c332 img {
width: 100%;
height: 100%;
object-fit: var(--is-object-fit, contain);
margin-bottom: 0;
border-radius: calc(var(--is-radius, 8px) - 2px);
}
.image-select-grid-c282c332[data-mobile-layout="horizontal-right"] .image-select-label-c282c332 {
text-align: right;
padding-right: 10px;
flex: 1;
} .image-select-grid-c282c332[data-mobile-layout="vertical"] .image-select-visual-c282c332 {
flex-direction: column;
align-items: center;
padding: var(--is-mobile-padding, 6px);
}
.image-select-grid-c282c332[data-mobile-layout="vertical"] .image-select-img-wrap-c282c332 img {
height: var(--is-mobile-img-size, 50px);
margin-bottom: 4px;
} .image-select-grid-c282c332[data-mobile-layout="horizontal-left"] .image-select-check-c282c332,
.image-select-grid-c282c332[data-mobile-layout="horizontal-right"] .image-select-check-c282c332 {
width: 20px;
height: 20px;
top: 50%;
transform: scale(0.5) translateY(-50%);
}
.image-select-grid-c282c332[data-mobile-layout="horizontal-left"] .image-select-check-c282c332 {
right: 6px;
}
.image-select-grid-c282c332[data-mobile-layout="horizontal-right"] .image-select-check-c282c332 {
left: 6px;
right: auto;
}
.image-select-grid-c282c332[data-mobile-layout="horizontal-left"] .image-select-input-c282c332:checked + .image-select-visual-c282c332 .image-select-check-c282c332,
.image-select-grid-c282c332[data-mobile-layout="horizontal-right"] .image-select-input-c282c332:checked + .image-select-visual-c282c332 .image-select-check-c282c332 {
opacity: 1;
transform: scale(1) translateY(-50%);
}
.image-select-grid-c282c332[data-mobile-layout="horizontal-left"] .image-select-check-c282c332 svg,
.image-select-grid-c282c332[data-mobile-layout="horizontal-right"] .image-select-check-c282c332 svg {
width: 12px;
height: 12px;
}
}