.ezgi-options { width: 100%; clear: both; margin: 0 0 20px; color: inherit; font: inherit; }
.ezgi-options .ezgi-options__field { border: 0; padding: 0; margin: 0 0 14px; min-width: 0; }
.ezgi-options .ezgi-options__field legend { float: none; width: auto; padding: 0; margin: 0 0 10px; font: inherit; font-weight: 600; color: inherit; }
.ezgi-options__choices { display: flex; flex-wrap: wrap; gap: 8px; }
.ezgi-options .ezgi-options__choice { position: relative; display: inline-flex; margin: 0; cursor: pointer; font: inherit; }
.ezgi-options__choice input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.ezgi-options__choice span { display: flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: 9px 14px; border: 1px solid var(--ezgi-option-border, #ccc); border-radius: var(--ezgi-option-radius, 3px); background: var(--ezgi-option-bg, #fff); color: var(--ezgi-option-text, #333); line-height: 1.4; transition: border-color .15s, background .15s; }
.ezgi-options__choice:hover span { border-color: var(--ezgi-option-accent, #333); }
.ezgi-options__choice input:checked + span { border-color: var(--ezgi-option-accent, #333); background: var(--ezgi-option-selected-bg, #f1f1f1); box-shadow: inset 0 0 0 1px var(--ezgi-option-accent, #333); font-weight: 600; }
.ezgi-options__choice input:focus-visible + span { outline: 2px solid var(--ezgi-option-accent, #333); outline-offset: 3px; }
.ezgi-options .ezgi-options__help { margin: 0; font-size: .85em; opacity: .8; }
.ezgi-options fieldset[hidden] { display: none !important; }
.ezgi-choice-price { margin-left: 6px; font-size: .85em; white-space: nowrap; }
.ezgi-price-summary { margin: 14px 0; font-weight: 600; }
.ezgi-price-summary p { margin: 4px 0; }
.ezgi-price-error { color: #a11919; }
@media (prefers-reduced-motion: reduce) { .ezgi-options__choice span { transition: none; } }
.ezgi-options [hidden]{display:none!important}
.ezgi-options__field{position:relative}
.ezgi-options select.ezgi-value{width:100%;max-width:100%;min-height:44px;padding:10px;border:1px solid #ccc;font:inherit;background:#fff;color:#333}
.ezgi-picker{display:none}
.ezgi-enhanced .ezgi-picker{display:block}
.ezgi-enhanced [data-display=panel]>.ezgi-select-shell{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ezgi-options .ezgi-picker button{font:inherit;text-transform:none;letter-spacing:normal;cursor:pointer;color:#333;background:white;border:1px solid #ccc;border-radius:3px;box-shadow:none;margin:0}
.ezgi-options button.ezgi-picker-toggle{display:flex;align-items:center;justify-content:space-between;text-align:left;width:100%;min-height:44px;padding:10px 12px}
.ezgi-picker-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ezgi-picker-panel{padding:12px;margin-top:6px;border:1px solid #ccc;background:#fff;border-radius:3px}
.ezgi-picker-toolbar{display:flex;gap:8px;margin-bottom:10px}
.ezgi-picker-search{min-width:0;width:100%;height:44px;padding:8px;border:1px solid #ccc;font:inherit}
.ezgi-options button.ezgi-picker-close{min-width:44px;height:44px;padding:4px;font-size:24px}
.ezgi-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;max-height:350px;overflow-y:auto;overscroll-behavior:contain;padding:3px}
.ezgi-options button.ezgi-picker-item{display:flex;flex-direction:column;align-items:stretch;text-align:center;min-width:0;padding:5px;gap:5px;height:auto;line-height:1.3}
.ezgi-swatch{display:flex;width:100%;aspect-ratio:1;overflow:hidden;background:#eee;align-items:center;justify-content:center;border-radius:2px}
.ezgi-swatch-image{width:100%!important;height:100%!important;object-fit:cover!important;display:block}
.ezgi-swatch-placeholder{font-size:24px;color:#888}
.ezgi-swatch-name{font-size:13px;overflow-wrap:anywhere}
.ezgi-picker-item .ezgi-choice-price{margin:0;font-size:11px;white-space:normal}
.ezgi-options button.ezgi-picker-item[aria-pressed=true]{border-color:#333;box-shadow:inset 0 0 0 1px #333;background:#f1f1f1}
.ezgi-options .ezgi-picker button:focus-visible,.ezgi-picker-search:focus-visible{outline:2px solid #333;outline-offset:2px}
.ezgi-options button.ezgi-picker-clear{padding:7px;margin-top:10px}
.ezgi-field-error{color:#a11919;margin:8px 0;font-size:.9em}
@media(max-width:480px){.ezgi-picker-panel{padding:8px}.ezgi-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:300px}}
/* Separate arrow survives theme background resets. Scoped to this plugin only. */
.ezgi-options .ezgi-select-shell{position:relative;width:100%}
.ezgi-options .ezgi-select-shell select.ezgi-value{appearance:none!important;-webkit-appearance:none!important;background-image:none!important;box-sizing:border-box!important;width:100%!important;height:46px!important;min-height:46px!important;padding:10px 40px 10px 12px!important;margin:0!important;line-height:24px!important;border-radius:var(--ezgi-option-radius,3px)}
.ezgi-options .ezgi-select-arrow{display:block!important;position:absolute!important;right:16px!important;top:50%!important;width:8px!important;height:8px!important;border-right:2px solid currentColor!important;border-bottom:2px solid currentColor!important;transform:translateY(-70%) rotate(45deg)!important;pointer-events:none!important;z-index:2;color:#333}
.ezgi-options .ezgi-picker-toggle{height:46px!important;min-height:46px!important}
.ezgi-options .ezgi-picker-toggle>span[aria-hidden]{font-size:0;display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-right:4px;flex-shrink:0}
.ezgi-hover-preview{position:fixed;z-index:999999;pointer-events:none!important;box-sizing:border-box;padding:6px;border:1px solid #ccc;border-radius:4px;background:#fff;box-shadow:0 4px 18px #0003}
.ezgi-hover-preview img{display:block;width:100%;height:100%;object-fit:contain}
