/* Taqin Variation Swatches 1.1 — Minimal Modern UX */
.tvs-native-select{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;margin:-1px!important;padding:0!important;border:0!important}

/* Woo variation layout: calm, readable, theme-safe */
.variations_form .variations{border-collapse:separate!important;border-spacing:0 10px!important;margin-bottom:12px!important}
.variations_form .variations tr{vertical-align:top}
.variations_form .variations th.label{padding:5px 14px 0 0!important;min-width:82px}
.variations_form .variations th.label label{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:650;line-height:1.35;color:#4b5563;letter-spacing:0;text-transform:none}
.variations_form .variations td.value{padding:0!important}
.tvs-selected-name{font-weight:500;color:#111827}

.tvs-field{position:relative;display:block;max-width:100%}
.tvs-items{display:flex;align-items:center;flex-wrap:wrap;gap:var(--tvs-gap,8px);margin:0;min-height:36px}
.tvs-item{appearance:none;-webkit-appearance:none;position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:var(--tvs-w,36px);height:var(--tvs-h,36px);padding:0 11px;background:#fff;border:1px solid var(--tvs-border,#d9dee7);color:#344054;cursor:pointer;box-sizing:border-box;line-height:1;font-family:inherit;font-size:var(--tvs-font,13px);font-weight:600;box-shadow:0 1px 2px rgba(16,24,40,.025);transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .12s ease,opacity .16s ease}
.tvs-item:hover{border-color:var(--tvs-hover,#8aa0bc);background:#f8fafc;color:#101828}
.tvs-item:active{transform:scale(.975)}
.tvs-item:focus-visible{outline:0;border-color:var(--tvs-selected,#0e376f);box-shadow:0 0 0 3px rgba(14,55,111,.14)}
.tvs-item.selected{border-color:var(--tvs-selected,#0e376f);background:var(--tvs-selected,#0e376f);color:#fff;box-shadow:0 1px 2px rgba(14,55,111,.15)}
.tvs-squared .tvs-item{border-radius:8px}.tvs-rounded .tvs-item{border-radius:9px}
.tvs-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:7px;overflow:visible;border-radius:inherit;white-space:nowrap}

/* Size: simple chips */
.tvs-role-size .tvs-item{min-width:auto;height:34px;padding:0 12px;border-radius:8px;background:#fff}
.tvs-role-size .tvs-item.selected{background:#0e376f;border-color:#0e376f;color:#fff}

/* Type/model: segmented option pills, softer selected state */
.tvs-role-option .tvs-item{width:auto;min-width:0;height:34px;padding:0 13px;border-radius:9px;background:#fff}
.tvs-role-option .tvs-item.selected{background:#eef4ff;border-color:#0e376f;color:#0e376f;box-shadow:inset 0 0 0 1px #0e376f}

/* Color: visual first. Compact dot, no wall of dark buttons */
.tvs-role-color .tvs-items{gap:10px}
.tvs-role-color .tvs-item,.tvs-type-color{width:30px!important;min-width:30px!important;height:30px!important;padding:0!important;border-radius:999px!important;background:#fff!important;color:transparent!important;border:1px solid #d0d5dd!important;box-shadow:0 0 0 2px #fff,0 0 0 3px transparent!important}
.tvs-role-color .tvs-item:hover,.tvs-type-color:hover{transform:translateY(-1px);border-color:#98a2b3!important;box-shadow:0 0 0 2px #fff,0 0 0 3px #cbd5e1!important}
.tvs-role-color .tvs-item.selected,.tvs-type-color.selected{border-color:#fff!important;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--tvs-selected,#0e376f)!important}
.tvs-role-color .tvs-inner,.tvs-type-color .tvs-inner{width:100%!important;height:100%!important;border:2px solid #fff!important;border-radius:999px!important;box-sizing:border-box;overflow:hidden!important}
.tvs-role-color .tvs-item.selected::after,.tvs-type-color.selected::after{content:"✓";display:flex!important;align-items:center;justify-content:center;position:absolute;inset:0;background:transparent!important;color:#fff;font-size:12px;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.65);transform:none!important;height:auto!important;left:0!important;right:0!important;top:0!important;z-index:4}
.tvs-role-color .tvs-item.selected::before,.tvs-type-color.selected::before{display:none!important}

/* Image swatches */
.tvs-type-image{width:44px;min-width:44px;height:44px;padding:2px;border-radius:9px;background:#fff}
.tvs-type-image .tvs-inner{overflow:hidden}.tvs-type-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:6px}.tvs-type-image.selected{background:#fff;color:inherit;border-color:var(--tvs-selected,#0e376f);box-shadow:0 0 0 1px var(--tvs-selected,#0e376f)}
.tvs-image-fallback{width:auto!important;padding:0 11px!important}

/* Normal buttons / labels */
.tvs-type-button{width:auto;min-width:0}.tvs-type-radio{width:auto;min-width:auto;height:auto;padding:5px 2px;border:0!important;box-shadow:none!important;background:transparent!important;color:#344054!important;gap:7px}.tvs-type-radio:hover{background:transparent!important}.tvs-radio-dot{width:17px;height:17px;border:1.5px solid #98a2b3;border-radius:50%;box-sizing:border-box;position:relative;background:#fff}.tvs-type-radio.selected .tvs-radio-dot{border-color:var(--tvs-selected,#0e376f)}.tvs-type-radio.selected .tvs-radio-dot:after{content:"";position:absolute;inset:3px;background:var(--tvs-selected,#0e376f);border-radius:50%}

/* Unavailable options: readable but quiet */
.tvs-unavailable{cursor:not-allowed!important;opacity:.35!important;filter:saturate(.25)}
.tvs-item.tvs-unavailable::after{content:"";display:block;position:absolute;left:15%;right:15%;top:50%;height:1px;background:#98a2b3;transform:rotate(-45deg);transform-origin:center;z-index:3}.tvs-item.tvs-unavailable::before{display:none!important}
.tvs-role-color .tvs-unavailable::after,.tvs-type-color.tvs-unavailable::after{left:5px!important;right:5px!important;background:#667085!important}
.tvs-behavior-blur .tvs-unavailable{filter:grayscale(1);opacity:.28!important}.tvs-behavior-blur .tvs-unavailable::after{display:none!important}.tvs-behavior-hide .tvs-unavailable{display:none!important}.tvs-behavior-none .tvs-unavailable{opacity:1!important;cursor:pointer!important;filter:none}.tvs-behavior-none .tvs-unavailable::after{display:none!important}

/* Reset link: visible, but not competing with primary actions */
.variations_form .reset_variations{display:inline-flex!important;align-items:center;margin:7px 0 0!important;padding:0!important;color:#98a2b3!important;font-size:10px!important;font-weight:600!important;line-height:1.2!important;text-transform:uppercase;letter-spacing:.04em;text-decoration:none!important;opacity:.9}.variations_form .reset_variations:hover{color:#475467!important}.tvs-hide-clear .reset_variations{display:none!important}

/* Tooltip */
.tvs-tooltip .tvs-item[data-tvs-tooltip]:hover:before,.tvs-tooltip .tvs-item[data-tvs-tooltip]:focus-visible:before{content:attr(data-tvs-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);padding:6px 8px;border-radius:7px;background:var(--tvs-tip-bg,#101828);color:var(--tvs-tip-color,#fff);font-size:11px;font-weight:500;line-height:1.2;white-space:nowrap;z-index:99999;box-shadow:0 5px 16px rgba(16,24,40,.16)}

/* Archive */
.tvs-archive{margin:8px 0}.tvs-archive-row{margin:7px 0}.tvs-archive-label{display:block;font-size:11px;font-weight:600;color:#667085;margin-bottom:5px}.tvs-archive .tvs-items{gap:5px;min-height:28px}.tvs-archive .tvs-item{min-width:var(--tvs-aw,28px);height:var(--tvs-ah,28px);font-size:11px;padding:0 8px}.tvs-archive .tvs-role-color .tvs-item{width:24px!important;min-width:24px!important;height:24px!important}

/* Mobile: put labels above choices, make tap targets clear without becoming huge */
@media (max-width:767px){
  .variations_form .variations{display:block;width:100%;border-spacing:0!important}
  .variations_form .variations tbody,.variations_form .variations tr,.variations_form .variations th.label,.variations_form .variations td.value{display:block;width:100%!important;box-sizing:border-box}
  .variations_form .variations tr{margin:0 0 14px}
  .variations_form .variations th.label{padding:0 0 7px!important}
  .variations_form .variations th.label label{font-size:12px}
  .tvs-items{gap:7px}
  .tvs-role-size .tvs-item,.tvs-role-option .tvs-item{height:36px;padding:0 12px;font-size:12px}
}
