.d7h-samples {
    box-sizing: border-box;
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    margin: 0 0 1rem;
    padding: 1rem;
    border: 1px solid currentColor;
    border-radius: .35rem;
    text-align: start;
}
.d7h-samples legend { font-weight: 700; padding-inline: .3rem; }
.d7h-samples__option {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    min-height: 44px;
    padding-block: .65rem;
    cursor: pointer;
}
.d7h-samples__option input { flex: 0 0 auto; margin-top: .3rem; }
.d7h-samples__option span,
.d7h-samples__custom { min-width: 0; overflow-wrap: anywhere; }
.d7h-samples__custom label,
.d7h-samples__custom small { display: block; }
.d7h-samples input[type="text"] {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    font: inherit;
    font-size: max(1rem, 16px);
    margin-block: .5rem;
}
.d7h-samples__materials { margin-block: .75rem; padding: .5rem; border: 1px solid currentColor; min-width: 0; }
.d7h-samples [hidden] { display: none !important; }
.d7h-samples :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
body.postid-154 form.cart:has(.d7h-samples) { flex-wrap: wrap; }

.d7h-samples [hidden] { display: none !important; }
.d7h-samples__gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.d7h-samples__swatch { position:relative; display:flex; flex-direction:column; gap:8px; padding:10px; border:2px solid #ccc; border-radius:6px; cursor:pointer; min-width:0; overflow-wrap:anywhere; }
.d7h-samples__swatch img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.d7h-samples__swatch input { width:22px; height:22px; margin:0; }
.d7h-samples__swatch:has(input:checked) { border-color:#24694a; background:#eef7f1; }
.d7h-samples__swatch:focus-within { outline:3px solid #24694a; outline-offset:2px; }
.d7h-samples__swatch:has(input:disabled) { opacity:.65; cursor:default; }
@media(max-width:480px) { .d7h-samples__gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; } }
