.tellogic-vs-terms{display:inline-flex;align-items:center;flex-wrap:wrap;margin:0;vertical-align:middle}.tellogic-vs-term{display:inline-block;cursor:pointer;text-align:center;margin:3px 6px 3px 0;padding:3px;border:1px solid #ddd;background:#fff;position:relative;box-sizing:border-box;float:none;color:inherit;font:inherit}.tellogic-vs-term-inner{display:flex;align-items:center;min-height:34px;line-height:34px;width:100%;position:relative;background:#efefef}.tellogic-vs-term:hover:not(.is-disabled){border-color:#4E008E}.tellogic-vs-term.is-selected{border-color:green}.tellogic-vs-term.is-selected .tellogic-vs-term-inner:before{content:'✓';display:block;width:16px;height:16px;border-radius:10px;background:green;color:#fff;text-align:center;line-height:16px;font-size:10px;position:absolute;top:-10px;right:-10px;z-index:9;border:2px solid #fff}.tellogic-vs-term.is-disabled{opacity:.4;cursor:default}.tellogic-vs-type-image .tellogic-vs-term,.tellogic-vs-type-color .tellogic-vs-term{height:42px;width:42px}.tellogic-vs-type-image .tellogic-vs-term-image,.tellogic-vs-type-color .tellogic-vs-term-color{font-size:0;border-radius:2px;width:34px;height:34px;flex:0 0 34px;display:block}.tellogic-vs-type-image img{width:100%;height:100%;display:block;border-radius:2px}.tellogic-vs-type-button .tellogic-vs-term{height:42px;min-width:42px;line-height:40px}.tellogic-vs-type-button .tellogic-vs-term-inner{border-radius:2px}.tellogic-vs-term-label{padding:0 10px}.tellogic-vs-type-radio .tellogic-vs-term{display:block;width:calc(100% - 6px);text-align:start}.tellogic-vs-type-radio .tellogic-vs-term-radio{width:34px;flex:0 0 34px;text-align:center}.tellogic-vs-type-radio input{outline:none;pointer-events:none}.tellogic-vs-style-rounded .tellogic-vs-term{border-radius:6px}.tellogic-vs-style-rounded .tellogic-vs-term-inner{border-radius:4px}.tellogic-vs-style-rounded .tellogic-vs-term-image img{border-radius:50%}.tellogic-vs-style-rounded .tellogic-vs-term-color{border-radius:6px}.tellogic-vs-show-label-no .tellogic-vs-term-label{display:none}.tellogic-vs-native-select{display:none!important}table.variations tr{vertical-align:middle}.tellogic-vs-terms{margin-left:0;margin-right:0}body.rtl .tellogic-vs-term{float:right}

/* 0.3.5 - layout limpo e compatível com WoodMart
   Título acima dos botões; sem caixa interna com rolagem; opções livres para quebrar linha. */
form.variations_form table.variations,
form.variations_form table.variations tbody {
    display:block !important;
    width:100% !important;
}

form.variations_form table.variations tbody > tr {
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 0 18px !important;
    padding:0 !important;
    overflow:visible !important;
}

form.variations_form table.variations tbody > tr > th.label,
form.variations_form table.variations tbody > tr > td.value {
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    clear:both !important;
    overflow:visible !important;
    text-align:left !important;
}

form.variations_form table.variations tbody > tr > th.label {
    padding-bottom:8px !important;
}

form.variations_form table.variations tbody > tr > th.label label {
    display:block !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
}

form.variations_form table.variations tbody > tr > td.value > .tellogic-vs-terms {
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    align-content:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    position:relative !important;
}

/* Cada opção fica com o tamanho do próprio conteúdo, sem herdar largura do tema. */
form.variations_form .tellogic-vs-terms .tellogic-vs-term {
    flex:0 0 auto !important;
    width:auto !important;
    min-width:86px !important;
    max-width:none !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:3px !important;
    box-sizing:border-box !important;
    float:none !important;
    position:relative !important;
}

/* Área interna uniforme */
form.variations_form .tellogic-vs-terms .tellogic-vs-term-inner {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    height:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:normal !important;
    box-sizing:border-box !important;
}

/* Texto sem largura fixa e sem quebra estranha. */
form.variations_form .tellogic-vs-term-label {
    display:block !important;
    width:auto !important;
    white-space:nowrap !important;
    padding:0 10px !important;
    line-height:34px !important;
}

/* Select nativo continua presente para o WooCommerce, mas não aparece visualmente. */
form.variations_form select.tellogic-vs-native-select {
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    min-width:1px !important;
    max-width:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
    margin:0 !important;
    padding:0 !important;
}

/* Impede elementos do WoodMart de criarem uma área rolável ao redor dos swatches. */
form.variations_form .value:has(.tellogic-vs-terms),
form.variations_form .value:has(.tellogic-vs-terms) > *,
form.variations_form .value:has(.tellogic-vs-terms) .select2-container {
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
}

/* Arredondado suave: somente uma curvatura discreta. */
.tellogic-vs-style-rounded .tellogic-vs-term {
    border-radius:6px !important;
}
.tellogic-vs-style-rounded .tellogic-vs-term-inner {
    border-radius:4px !important;
}


/* 0.4.1 - quantidade de linhas + caixa de "Escolha a opção" */
.tellogic-vs-wrap {
    width:100%;
    max-width:100%;
    position:relative;
    overflow:visible !important;
}

.tellogic-vs-wrap .tellogic-vs-terms {
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    align-items:flex-start !important;
    align-content:flex-start !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable;
}

/* Barra de rolagem discreta quando houver mais linhas que o limite. */
.tellogic-vs-wrap .tellogic-vs-terms::-webkit-scrollbar {
    width:7px;
}
.tellogic-vs-wrap .tellogic-vs-terms::-webkit-scrollbar-track {
    background:transparent;
}
.tellogic-vs-wrap .tellogic-vs-terms::-webkit-scrollbar-thumb {
    background:rgba(0,0,0,.28);
    border-radius:6px;
}

.tellogic-vs-more {
    display:none;
    width:100%;
    min-height:38px;
    margin:7px 0 0 !important;
    padding:6px 10px !important;
    border:0 !important;
    background:transparent !important;
    color:#666 !important;
    font:inherit !important;
    font-size:14px !important;
    line-height:1.3 !important;
    text-align:left !important;
    cursor:pointer !important;
}

.tellogic-vs-more:hover {
    color:#222 !important;
}

.tellogic-vs-more-arrow {
    display:inline-block;
    margin-right:6px;
    font-size:18px;
    line-height:1;
}

.tellogic-vs-more-text {
    vertical-align:middle;
}

/* Radio ocupa 100% da área disponível, sem ficar estreito como os botões. */
.tellogic-vs-style-radio .tellogic-vs-terms,
.tellogic-vs-style-radio .tellogic-vs-term {
    width:100% !important;
    max-width:100% !important;
}

.tellogic-vs-style-radio .tellogic-vs-term {
    justify-content:flex-start !important;
    min-width:0 !important;
}


/* 0.4.2 - controle real de linhas e largura dos radios */
.tellogic-vs-wrap{
    width:100% !important;
    max-width:100% !important;
    position:relative !important;
    overflow:visible !important;
}
.tellogic-vs-wrap .tellogic-vs-terms{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    align-content:flex-start !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable;
}
.tellogic-vs-wrap .tellogic-vs-term{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:86px !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    margin:0 !important;
}
.tellogic-vs-wrap .tellogic-vs-terms::-webkit-scrollbar{width:7px}
.tellogic-vs-wrap .tellogic-vs-terms::-webkit-scrollbar-thumb{background:rgba(0,0,0,.28);border-radius:6px}
.tellogic-vs-more{
    display:none;
    width:100% !important;
    min-height:38px !important;
    margin:6px 0 0 !important;
    padding:5px 8px !important;
    border:0 !important;
    background:transparent !important;
    color:#666 !important;
    font:inherit !important;
    font-size:14px !important;
    text-align:left !important;
    cursor:pointer !important;
}
.tellogic-vs-more-arrow{display:inline-block;margin-right:6px;font-size:17px}
.tellogic-vs-more-text{vertical-align:middle}

/* Radio: uma opção por linha ocupando todo o espaço. */
.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-terms{
    display:block !important;
}
.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term{
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    justify-content:flex-start !important;
    align-items:center !important;
    margin:0 0 7px !important;
}
.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term-inner{
    display:flex !important;
    width:100% !important;
    align-items:center !important;
    justify-content:flex-start !important;
}

/* Select nativo invisível sem retirar do DOM. */
form.variations_form select.tellogic-vs-native-select{
    position:absolute !important;
    left:-10000px !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
}

/* 0.4.3 - mensagem somente quando houver linhas excedentes */
.tellogic-vs-wrap .tellogic-vs-more{display:none !important;}
.tellogic-vs-wrap.has-more .tellogic-vs-more{display:block !important;}

/* 0.4.4 - quantidade de botões por linha */
.tellogic-vs-wrap .tellogic-vs-terms{
    display:grid !important;
    grid-template-columns:repeat(var(--tvs-effective-cols,var(--tvs-buttons-per-row,4)),minmax(0,1fr)) !important;
    gap:8px !important;
    align-items:stretch !important;
    align-content:start !important;
    width:100% !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
}
.tellogic-vs-wrap .tellogic-vs-term{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:3px !important;
    box-sizing:border-box !important;
}
.tellogic-vs-wrap .tellogic-vs-term-inner{
    width:100% !important;
    min-width:0 !important;
    height:34px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
}
.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-terms{
    display:block !important;
}
.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
}
.tellogic-vs-wrap .tellogic-vs-more{display:none !important;}
.tellogic-vs-wrap.has-more .tellogic-vs-more{display:block !important;}

/* 0.4.5 - personalização profissional dos botões */
.tellogic-vs-wrap .tellogic-vs-term{
    background:var(--tvs-bg,#f3f3f3) !important;
    color:var(--tvs-text,#222) !important;
    border-width:var(--tvs-border-width,1px) !important;
    border-style:solid !important;
    border-color:var(--tvs-border,#e2e2e2) !important;
}
.tellogic-vs-wrap .tellogic-vs-term.is-selected{
    background:var(--tvs-sel-bg,#eee) !important;
    color:var(--tvs-sel-text,#222) !important;
    border-width:var(--tvs-sel-border-width,2px) !important;
    border-color:var(--tvs-sel-border,#4E008E) !important;
}
.tellogic-vs-wrap .tellogic-vs-term.is-disabled{
    background:var(--tvs-bg,#f3f3f3) !important;
}


/* 0.4.6 - radio: somente a opção selecionada fica verde */
.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term-radio{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin-right:9px !important;
    position:relative !important;
    flex:0 0 18px !important;
}

.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term-radio input[type="radio"]{
    appearance:none !important;
    -webkit-appearance:none !important;
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    min-height:16px !important;
    margin:0 !important;
    padding:0 !important;
    border:1.5px solid #8c8c8c !important;
    border-radius:50% !important;
    background:#fff !important;
    position:relative !important;
    box-sizing:border-box !important;
    opacity:1 !important;
    cursor:pointer !important;
}

.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected .tellogic-vs-term-radio input[type="radio"]{
    border-color:#22a447 !important;
    background:#22a447 !important;
}

.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected .tellogic-vs-term-radio input[type="radio"]::after{
    content:"" !important;
    position:absolute !important;
    width:6px !important;
    height:6px !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    border-radius:50% !important;
    background:#fff !important;
}

.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term:not(.is-selected) .tellogic-vs-term-radio input[type="radio"]::after{
    display:none !important;
}

/* 0.5.8 - Image mode: show the image together with the attribute value.
   The image remains the visual swatch, while the term name is kept visible. */
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term {
    width:auto !important;
    min-width:86px !important;
    max-width:100% !important;
    height:42px !important;
    min-height:42px !important;
    padding:3px !important;
    box-sizing:border-box !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term-inner {
    width:auto !important;
    min-width:0 !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 7px !important;
    overflow:visible !important;
    background:#efefef !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term-image {
    display:block !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    flex:0 0 34px !important;
    padding:0 !important;
    margin:0 !important;
    line-height:0 !important;
    font-size:0 !important;
    overflow:hidden !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term-image img {
    display:block !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
    border-radius:2px !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term-label {
    display:block !important;
    width:auto !important;
    padding:0 4px !important;
    white-space:nowrap !important;
    line-height:34px !important;
    font-size:inherit !important;
}
.tellogic-vs-wrap.tellogic-vs-style-rounded.tellogic-vs-type-image .tellogic-vs-term-image img { border-radius:4px !important; }


/* 0.5.10 - rótulo do valor do atributo no modo Image.
   Classe exclusiva para evitar que regras do tema/plug-ins escondam o texto. */
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-image-label {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    position: static !important;
    flex: 0 0 auto !important;
    color: inherit !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 34px !important;
    white-space: nowrap !important;
    padding: 0 4px !important;
    margin: 0 !important;
    text-indent: 0 !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term-inner {
    overflow: visible !important;
    justify-content: center !important;
}


/* 0.5.16 - Image: preserve the compact original swatch layout.
   The global 0.4.4 grid is intentionally disabled only for Image mode. */
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-terms {
    display:flex !important;
    grid-template-columns:none !important;
    grid-auto-columns:auto !important;
    grid-auto-flow:row !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    align-content:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
    width:100% !important;
    overflow:visible !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term {
    display:block !important;
    flex:0 0 auto !important;
    width:max-content !important;
    min-width:0 !important;
    max-width:100% !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:3px !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term-inner {
    display:flex !important;
    width:max-content !important;
    min-width:0 !important;
    max-width:100% !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 7px !important;
    gap:7px !important;
    justify-content:center !important;
    align-items:center !important;
    overflow:visible !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term-image img {
    object-fit:contain !important;
    object-position:center center !important;
    background:#fff !important;
}


/* 0.5.17 - reduzir o espaço entre os swatches e o bloco de compra.
   Mantém o restante do layout do tema intacto. */
form.variations_form table.variations {
    margin-bottom: 0 !important;
}
/* 0.5.58 - distância configurável entre atributos e área de compra. */
form.variations_form .single_variation_wrap {
    margin-top: var(--tvs-cart-gap, 20px) !important;
}
form.variations_form table.variations tbody > tr {
    margin-bottom: 6px !important;
}
form.variations_form table.variations tbody > tr:last-child {
    margin-bottom: 0 !important;
}
form.variations_form .tellogic-vs-wrap {
    margin-bottom: 0 !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-image {
    padding-bottom: 0 !important;
}
/* 0.5.18 - Image: compactar texto e imagem para permitir mais opções por linha. */
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term-inner {
    padding:0 4px !important;
    gap:4px !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term-image,
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term-image img {
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    min-height:30px !important;
    max-width:30px !important;
    max-height:30px !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-image-label {
    font-size:14px !important;
    line-height:30px !important;
    padding:0 2px !important;
    font-weight:500 !important;
}

/* 0.5.20 - Image: quatro opções por linha de forma estável.
   Usa grid somente no modo Imagem, preservando o visual compacto. */
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-terms {
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
    box-sizing:border-box !important;
    align-items:start !important;
    justify-items:stretch !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    box-sizing:border-box !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term-inner {
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    padding:0 3px !important;
    gap:3px !important;
    justify-content:center !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-image-label {
    font-weight:700 !important;
    font-size:14px !important;
    white-space:nowrap !important;
}
@media (max-width:520px) {
    .tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-terms {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}
/* 0.5.22 - Image: nomes longos continuam cabendo dentro das 4 colunas.
   Os rótulos curtos mantêm o visual aprovado; somente textos longos recebem redução mínima. */
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term.tellogic-vs-image-long-label .tellogic-vs-image-label {
    font-size:12px !important;
    padding:0 1px !important;
    letter-spacing:-0.15px !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term.tellogic-vs-image-long-label .tellogic-vs-term-inner {
    gap:2px !important;
    padding:0 2px !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term.tellogic-vs-image-long-label .tellogic-vs-term-image,
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term.tellogic-vs-image-long-label .tellogic-vs-term-image img {
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    min-height:28px !important;
    max-width:28px !important;
    max-height:28px !important;
}


/* 0.5.23 - Image: nomes longos não podem invadir a opção seguinte.
   Mantém 4 colunas e permite duas linhas somente nos rótulos longos. */
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term.tellogic-vs-image-long-label .tellogic-vs-term-inner {
    overflow:hidden !important;
    justify-content:center !important;
    align-items:center !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term.tellogic-vs-image-long-label .tellogic-vs-image-label {
    display:-webkit-box !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    text-align:center !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:13px !important;
    letter-spacing:-0.1px !important;
    padding:0 1px !important;
    margin:0 !important;
    box-sizing:border-box !important;
}
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term.tellogic-vs-image-long-label .tellogic-vs-term-image,
.tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term.tellogic-vs-image-long-label .tellogic-vs-term-image img {
    flex:0 0 26px !important;
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    min-height:26px !important;
    max-width:26px !important;
    max-height:26px !important;
}


/* 0.5.24 - Radio: fundo ocupa toda a largura disponível.
   Remove qualquer limitação de altura/rolagem herdada do tema e faz cada opção
   preencher integralmente a área do atributo. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-terms {
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    box-sizing:border-box !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-terms {
    display:block !important;
    margin:0 !important;
    padding:0 !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term {
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 0 7px !important;
    padding:3px !important;
    box-sizing:border-box !important;
    float:none !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term:last-child {
    margin-bottom:0 !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term-inner {
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:34px !important;
    min-height:34px !important;
    justify-content:flex-start !important;
    align-items:center !important;
    box-sizing:border-box !important;
}


/* 0.5.25 - Radio com miniatura de imagem. */
.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term-inner{
    gap:10px !important;
    justify-content:flex-start !important;
}
.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term-radio{
    flex:0 0 22px !important;
    width:22px !important;
    height:22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term-radio input{
    appearance:none !important;
    -webkit-appearance:none !important;
    width:22px !important;
    height:22px !important;
    margin:0 !important;
    border:2px solid #8b9198 !important;
    border-radius:50% !important;
    background:#fff !important;
    box-sizing:border-box !important;
}
.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term-radio input:checked{
    border:6px solid #22a447 !important;
}
.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-radio-image{
    flex:0 0 34px !important;
    width:34px !important;
    height:34px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#fff !important;
    border-radius:4px !important;
    overflow:hidden !important;
}
.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-radio-image img{
    display:block !important;
    width:34px !important;
    height:34px !important;
    object-fit:contain !important;
    margin:0 !important;
    padding:0 !important;
}
.tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term-label{
    font-weight:400 !important;
    font-size:14px !important;
    line-height:1.25 !important;
    white-space:normal !important;
}


/* 0.5.28 - Radio + imagem: usa exatamente o mesmo layout do Radio.
   A classe do novo tipo é tellogic-vs-type-radio_image; sem este bloco o tema
   aplica o layout genérico dos botões e rádio/imagem ficam sobrepostos. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-terms {
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    box-sizing:border-box !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-terms {
    display:block !important;
    margin:0 !important;
    padding:0 !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term {
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 0 7px !important;
    padding:3px !important;
    box-sizing:border-box !important;
    float:none !important;
    position:relative !important;
    text-align:left !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term:last-child {
    margin-bottom:0 !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-inner {
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:10px !important;
    box-sizing:border-box !important;
    line-height:normal !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-radio {
    flex:0 0 22px !important;
    width:22px !important;
    height:22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-radio input {
    appearance:none !important;
    -webkit-appearance:none !important;
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    min-height:22px !important;
    margin:0 !important;
    padding:0 !important;
    border:2px solid #8b9198 !important;
    border-radius:50% !important;
    background:#fff !important;
    box-sizing:border-box !important;
    pointer-events:none !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-radio input:checked {
    border:6px solid #22a447 !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-radio-image {
    flex:0 0 34px !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#fff !important;
    border-radius:4px !important;
    overflow:hidden !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-radio-image img {
    display:block !important;
    width:34px !important;
    height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    object-fit:contain !important;
    margin:0 !important;
    padding:0 !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-label,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term-label {
    display:block !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    font-weight:400 !important;
    font-size:14px !important;
    line-height:1.3 !important;
    white-space:normal !important;
    text-align:left !important;
}

/* 0.5.30 - isolamento do controle de mais opções no formulário do WooCommerce.
   Impede que o link "Limpar" do tema fique visualmente misturado com o controle. */
form.variations_form .tellogic-vs-wrap .tellogic-vs-more {
    display:none !important;
    clear:both !important;
    position:relative !important;
    z-index:2 !important;
    box-sizing:border-box !important;
    float:none !important;
}
form.variations_form .tellogic-vs-wrap.has-more .tellogic-vs-more {
    display:block !important;
    margin-top:8px !important;
    margin-bottom:8px !important;
}
form.variations_form .tellogic-vs-wrap {
    clear:both !important;
    display:block !important;
}
form.variations_form .tellogic-vs-wrap .tellogic-vs-terms {
    clear:both !important;
}


/* 0.5.31 - espaço entre o link "Limpar" das variações e o próximo bloco de preço/quantidade. */
form.variations_form .reset_variations {
    display:inline-block !important;
    margin-bottom:18px !important;
}


/* 0.5.32 - aumenta de forma clara o espaço entre "Limpar" e o bloco de quantidade/tiered pricing. */
form.variations_form .reset_variations {
    display:block !important;
    margin-top:0 !important;
    margin-bottom:34px !important;
    padding-bottom:0 !important;
    line-height:1.4 !important;
}


/* 0.5.35 - rolagem estável: preservar a posição do usuário durante os
   ciclos de atualização do WooCommerce, sem deixar o tema deslocar a lista. */
form.variations_form .tellogic-vs-wrap .tellogic-vs-terms.is-scrollable {
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain !important;
    scroll-behavior:auto !important;
}

/* 0.5.34 - rolagem real para o limite de linhas.
   O modo Radio + imagem usa regras com !important; este bloco final garante
   que, quando houver opções excedentes, a área limitada tenha barra vertical. */
form.variations_form .tellogic-vs-wrap.has-more .tellogic-vs-terms.is-scrollable {
    overflow-y:scroll !important;
    overflow-x:hidden !important;
}
form.variations_form .tellogic-vs-wrap.has-more .tellogic-vs-terms {
    scrollbar-gutter:stable !important;
}


/* 0.5.56 - Radio + imagem: isolamento total contra CSS de tema/cache.
   Usa grid fixo para impedir que imagens ou labels recebam larguras indevidas. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-inner{
    display:grid !important;
    grid-template-columns:22px 34px minmax(0,1fr) !important;
    grid-template-rows:minmax(34px,auto) !important;
    align-items:center !important;
    justify-content:stretch !important;
    column-gap:10px !important;
    row-gap:0 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    padding:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-radio{
    grid-column:1 !important;
    grid-row:1 !important;
    width:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    height:22px !important;
    min-height:22px !important;
    max-height:22px !important;
    flex:none !important;
    margin:0 !important;
    padding:0 !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-radio input[type="radio"]{
    display:block !important;
    width:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    height:22px !important;
    min-height:22px !important;
    max-height:22px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-radio-image{
    grid-column:2 !important;
    grid-row:1 !important;
    display:flex !important;
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    flex:none !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-radio-image img{
    display:block !important;
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    flex:none !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-label{
    grid-column:3 !important;
    grid-row:1 !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    white-space:normal !important;
    text-align:left !important;
    font-weight:400 !important;
    font-size:14px !important;
    line-height:1.25 !important;
}

/* 0.5.57 - correção definitiva do alinhamento do Radio + imagem.
   Posicionamento absoluto evita que WoodMart/cache altere a largura das colunas. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-inner{
    display:block !important;
    position:relative !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-radio{
    position:absolute !important;
    left:0 !important;
    top:6px !important;
    width:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    height:22px !important;
    min-height:22px !important;
    max-height:22px !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
    z-index:2 !important;
    box-sizing:border-box !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-radio input[type="radio"]{
    display:block !important;
    width:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    height:22px !important;
    min-height:22px !important;
    max-height:22px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-radio-image{
    position:absolute !important;
    left:32px !important;
    top:0 !important;
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    z-index:2 !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-radio-image img{
    display:block !important;
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:contain !important;
    object-position:center !important;
    box-sizing:border-box !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-label{
    position:absolute !important;
    left:76px !important;
    right:6px !important;
    top:0 !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:normal !important;
    text-align:left !important;
    font-weight:400 !important;
    font-size:14px !important;
    line-height:1.25 !important;
    z-index:1 !important;
}


/* 0.5.60 - fallback resistente a minificação/cache para Radio + imagem.
   O layout também é reforçado por estilos inline via JS, pois alguns plugins
   de cache/minificação podem combinar ou atrasar regras do CSS externo. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-inner {
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-radio {
    position:absolute !important;
    left:0 !important;
    top:6px !important;
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    min-height:22px !important;
    max-height:22px !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
    z-index:3 !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-radio-image {
    position:absolute !important;
    left:32px !important;
    top:0 !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    z-index:2 !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-radio-image img {
    display:block !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    object-fit:contain !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-label {
    position:absolute !important;
    left:76px !important;
    right:6px !important;
    top:0 !important;
    width:auto !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    overflow:hidden !important;
    white-space:normal !important;
    text-align:left !important;
    box-sizing:border-box !important;
    z-index:1 !important;
}

/* 0.5.62 - Radio + imagem: usa fundo no container para ficar imune a regras globais de img do tema/cache. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-radio-image{
    position:absolute !important; left:32px !important; top:0 !important;
    width:34px !important; height:34px !important;
    min-width:34px !important; max-width:34px !important;
    min-height:34px !important; max-height:34px !important;
    display:block !important; margin:0 !important; padding:0 !important;
    overflow:hidden !important; box-sizing:border-box !important;
    background-size:contain !important; background-repeat:no-repeat !important;
    background-position:center !important; z-index:2 !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-radio-image img{
    display:none !important; width:0 !important; height:0 !important;
}

/* 0.5.64 - espaço entre os botões de variação e o link "Limpar". */
form.variations_form .reset_variations {
    margin-top:12px !important;
}

/* 0.5.75 - Radio + imagem: selo verde no canto superior direito.
   O check fica preso ao próprio cartão para não sair da borda. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected {
    position:relative !important;
    overflow:visible !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected .tellogic-vs-term-inner:before {
    display:none !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected:before {
    content:"" !important;
    position:absolute !important;
    top:-2px !important;
    right:-2px !important;
    width:25px !important;
    height:25px !important;
    background:#159b2e !important;
    clip-path:polygon(0 0,100% 0,100% 100%) !important;
    -webkit-clip-path:polygon(0 0,100% 0,100% 100%) !important;
    z-index:20 !important;
    pointer-events:none !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected:after {
    content:"✓" !important;
    position:absolute !important;
    top:0px !important;
    right:2px !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1 !important;
    z-index:21 !important;
    pointer-events:none !important;
}

/* 0.5.76 - Radio + imagem: borda selecionada mais fina e delicada. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected {
    border-width:1px !important;
    border-style:solid !important;
    border-color:#4E008E !important;
}

/* 0.5.77 - reforço do link nativo "Limpar" das variações. */
form.variations_form .reset_variations { cursor:pointer !important; pointer-events:auto !important; }


/* 0.5.83 - esconder "Limpar" somente quando houver Radio/Radio + imagem.
   O JS também aplica a regra para sobreviver a reconstruções do WooCommerce/cache. */
form.variations_form:has(.tellogic-vs-wrap.tellogic-vs-type-radio) .reset_variations,
form.variations_form:has(.tellogic-vs-wrap.tellogic-vs-type-radio_image) .reset_variations { display:none !important; }


/* 0.5.84 - Botão: borda da opção selecionada mais fina. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-button .tellogic-vs-term.is-selected {
    border-width:1px !important;
    border-style:solid !important;
    border-color:#4E008E !important;
    position:relative !important;
    overflow:visible !important;
}

/* 0.5.87 - Botão + imagem: ticket verde menor, fino e preso ao canto superior direito. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-button .tellogic-vs-term.is-selected {
    border-width:1px !important;
    border-style:solid !important;
    border-color:#4E008E !important;
    position:relative !important;
    overflow:visible !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-button .tellogic-vs-term.is-selected .tellogic-vs-term-inner:before {
    display:none !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-button .tellogic-vs-term.is-selected:before {
    content:"" !important;
    position:absolute !important;
    top:-1px !important;
    right:-1px !important;
    width:22px !important;
    height:22px !important;
    background:#159b2e !important;
    clip-path:polygon(0 0,100% 0,100% 100%) !important;
    -webkit-clip-path:polygon(0 0,100% 0,100% 100%) !important;
    border-radius:0 0 0 2px !important;
    z-index:20 !important;
    pointer-events:none !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-button .tellogic-vs-term.is-selected:after {
    content:"✓" !important;
    position:absolute !important;
    top:0px !important;
    right:1px !important;
    color:#fff !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1 !important;
    z-index:21 !important;
    pointer-events:none !important;
}

/* 0.5.90 - Botão com imagem: selo triangular verde aprovado, sem o círculo verde antigo. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-button .tellogic-vs-term.is-selected .tellogic-vs-term-inner:before,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-button .tellogic-vs-term.is-selected .tellogic-vs-term-inner:after {
    display:none !important;
    content:none !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-button .tellogic-vs-term.is-selected {
    position:relative !important;
    overflow:visible !important;
    border:1px solid #4E008E !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-button .tellogic-vs-term.is-selected:before {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:-1px !important;
    right:-1px !important;
    width:30px !important;
    height:30px !important;
    margin:0 !important;
    padding:0 !important;
    background:#159b2e !important;
    clip-path:polygon(0 0,100% 0,100% 100%) !important;
    -webkit-clip-path:polygon(0 0,100% 0,100% 100%) !important;
    border-radius:0 !important;
    z-index:9999 !important;
    pointer-events:none !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-button .tellogic-vs-term.is-selected:after {
    content:"✓" !important;
    display:block !important;
    position:absolute !important;
    top:2px !important;
    right:2px !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    color:#fff !important;
    font-size:15px !important;
    font-family:Arial,sans-serif !important;
    font-weight:700 !important;
    line-height:1 !important;
    z-index:10000 !important;
    pointer-events:none !important;
}

/* 0.5.91 - Imagem: não exibir controle de rádio. A opção de Imagem usa somente
   a miniatura e o texto. Radio + imagem continua com seu próprio controle. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term-radio,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-image input[type="radio"] {
    display:none !important;
    visibility:hidden !important;
}

/* 0.5.91 - Radio + imagem: usar IMG real em vez de background-image, evitando
   quadrado branco quando o tema/cache altera backgrounds inline. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-radio-image {
    background:#fff !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-radio-image img {
    display:block !important;
    width:34px !important;
    height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
}


/* 0.5.93 - Separação definitiva dos modos Radio e Radio + imagem. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-radio-image,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-radio-image img {
    display:none !important;
    visibility:hidden !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    max-width:0 !important;
    margin:0 !important;
    padding:0 !important;
}
/* Reforça o ticket triangular do Radio + imagem após regras antigas do CSS. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected:before {
    content:"" !important; display:block !important; position:absolute !important;
    top:-1px !important; right:-1px !important; width:25px !important; height:25px !important;
    background:#159b2e !important; clip-path:polygon(0 0,100% 0,100% 100%) !important;
    -webkit-clip-path:polygon(0 0,100% 0,100% 100%) !important; z-index:9999 !important; pointer-events:none !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected:after {
    content:"✓" !important; display:block !important; position:absolute !important;
    top:1px !important; right:2px !important; color:#fff !important; background:transparent !important;
    border:0 !important; font:700 13px/1 Arial,sans-serif !important; z-index:10000 !important; pointer-events:none !important;
}

/* 0.5.95 - Ticket verde em TODAS as modalidades selecionáveis.
   Usa bordas CSS em vez de clip-path para máxima compatibilidade com
   WoodMart/Elementor e com CSS otimizado/minificado. Só aparece em
   .is-selected. */
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::before {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:-1px !important;
    right:-1px !important;
    width:0 !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-top:25px solid #159b2e !important;
    border-left:25px solid transparent !important;
    border-right:0 !important;
    border-bottom:0 !important;
    border-radius:0 !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
    z-index:99999 !important;
    pointer-events:none !important;
}

form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::after {
    content:"✓" !important;
    display:block !important;
    position:absolute !important;
    top:2px !important;
    right:2px !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    color:#fff !important;
    font:700 13px/1 Arial,sans-serif !important;
    text-shadow:0 0 1px rgba(0,0,0,.15) !important;
    z-index:100000 !important;
    pointer-events:none !important;
}

/* O Radio puro continua sem miniatura; apenas recebe o ticket ao selecionar. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-radio-image,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-radio-image img {
    display:none !important;
}


/* 0.5.97 - Ticket circular verde padronizado em TODAS as modalidades.
   O ticket aparece somente no termo selecionado e fica parcialmente
   sobre o canto superior direito, seguindo o modelo visual aprovado. */
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected .tellogic-vs-term-inner::before,
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected .tellogic-vs-term-inner::after {
    content:none !important;
    display:none !important;
    width:0 !important;
    height:0 !important;
    background:none !important;
    border:0 !important;
    box-shadow:none !important;
}

form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::before {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:-8px !important;
    right:-8px !important;
    width:19px !important;
    height:19px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:50% !important;
    background:#159b2e !important;
    box-shadow:0 0 0 1px rgba(255,255,255,.95) !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
    z-index:99999 !important;
    pointer-events:none !important;
}

form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::after {
    content:"✓" !important;
    display:block !important;
    position:absolute !important;
    top:-6px !important;
    right:-5px !important;
    width:13px !important;
    height:16px !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    color:#fff !important;
    font:700 14px/16px Arial,sans-serif !important;
    text-align:center !important;
    text-shadow:none !important;
    z-index:100000 !important;
    pointer-events:none !important;
}

/* Radio puro permanece sem imagem. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-radio-image,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-radio-image img {
    display:none !important;
    visibility:hidden !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    max-width:0 !important;
    margin:0 !important;
    padding:0 !important;
}


/* 0.5.98 - PADRONIZAÇÃO FINAL DO TICKET EM TODAS AS MODALIDADES.
   Neutraliza regras antigas específicas de cada modalidade e usa somente
   um ticket circular verde no canto superior direito do item selecionado. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected .tellogic-vs-term-inner::before,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected .tellogic-vs-term-inner::after,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected .tellogic-vs-term-inner::before,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected .tellogic-vs-term-inner::after,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-button .tellogic-vs-term.is-selected .tellogic-vs-term-inner::before,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-button .tellogic-vs-term.is-selected .tellogic-vs-term-inner::after,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term.is-selected .tellogic-vs-term-inner::before,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term.is-selected .tellogic-vs-term-inner::after {
    content:none !important;
    display:none !important;
    width:0 !important;
    height:0 !important;
    background:none !important;
    border:0 !important;
    box-shadow:none !important;
}

form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected::before,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected::before,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-button .tellogic-vs-term.is-selected::before,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term.is-selected::before {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:-8px !important;
    right:-8px !important;
    width:19px !important;
    height:19px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:50% !important;
    background:#159b2e !important;
    box-shadow:0 0 0 1px rgba(255,255,255,.95) !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
    z-index:99999 !important;
    pointer-events:none !important;
}

form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected::after,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected::after,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-button .tellogic-vs-term.is-selected::after,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term.is-selected::after {
    content:"✓" !important;
    display:block !important;
    position:absolute !important;
    top:-6px !important;
    right:-5px !important;
    width:13px !important;
    height:16px !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    color:#fff !important;
    font:700 14px/16px Arial,sans-serif !important;
    text-align:center !important;
    text-shadow:none !important;
    z-index:100000 !important;
    pointer-events:none !important;
}


/* 0.5.99 - Ticket verde totalmente visível.
   O ticket anterior ficava parcialmente fora do cartão (top/right negativos)
   e podia ser cortado por containers com overflow. Mantemos o mesmo visual,
   mas posicionamos o círculo dentro do próprio item selecionado. */
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::before {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:1px !important;
    right:1px !important;
    left:auto !important;
    bottom:auto !important;
    width:20px !important;
    height:20px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:50% !important;
    background:#159b2e !important;
    box-shadow:0 0 0 1px rgba(255,255,255,.95) !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
    transform:none !important;
    z-index:99999 !important;
    pointer-events:none !important;
}
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::after {
    content:"✓" !important;
    display:block !important;
    position:absolute !important;
    top:1px !important;
    right:1px !important;
    left:auto !important;
    bottom:auto !important;
    width:20px !important;
    height:20px !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    color:#fff !important;
    font:700 14px/20px Arial,sans-serif !important;
    text-align:center !important;
    text-shadow:none !important;
    z-index:100000 !important;
    pointer-events:none !important;
    transform:none !important;
}


/* 0.5.100 - Ticket circular totalmente sobreposto e visível.
   Garante que o círculo não fique atrás da borda do próprio botão nem de
   outra opção/linha. O item selecionado recebe uma camada superior e
   overflow visível; o restante do layout permanece inalterado. */
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected {
    position:relative !important;
    overflow:visible !important;
    z-index:1000 !important;
}
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::before {
    top:-8px !important;
    right:-8px !important;
    z-index:1000000 !important;
}
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::after {
    top:-6px !important;
    right:-5px !important;
    z-index:1000001 !important;
}

/* 0.5.101 - Correção definitiva do corte do ticket.
   O container .tellogic-vs-terms possuía overflow-x:hidden em uma regra
   anterior. Como o ticket circular fica sobre a borda do item selecionado,
   esse overflow cortava a parte superior do ticket, especialmente em Radio,
   Radio + imagem e Botão. O container agora permanece totalmente visível. */
form.variations_form .tellogic-vs-wrap .tellogic-vs-terms {
    overflow:visible !important;
    overflow-x:visible !important;
    overflow-y:visible !important;
}

form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected {
    position:relative !important;
    overflow:visible !important;
    z-index:1000000 !important;
}

form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::before {
    top:-8px !important;
    right:-8px !important;
    z-index:2147483000 !important;
}

form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::after {
    top:-6px !important;
    right:-5px !important;
    z-index:2147483001 !important;
}



/* 0.5.103 - Ticket totalmente opaco e acima do conteúdo.
   No Radio + imagem, o conteúdo interno possui camadas próprias. O ticket
   passa a ter sua própria camada isolada e o pseudo-elemento do check também
   recebe fundo verde opaco, evitando que imagem/texto/borda apareçam através dele. */
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected {
    position:relative !important;
    overflow:visible !important;
    isolation:isolate !important;
    z-index:2147483000 !important;
}
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected .tellogic-vs-term-inner {
    position:relative !important;
    z-index:1 !important;
}
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::before {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:-9px !important;
    right:-9px !important;
    left:auto !important;
    bottom:auto !important;
    width:22px !important;
    height:22px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:50% !important;
    background:#159b2e !important;
    box-shadow:0 0 0 2px #fff !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
    transform:none !important;
    z-index:2147483646 !important;
    pointer-events:none !important;
}
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::after {
    content:"✓" !important;
    display:block !important;
    position:absolute !important;
    top:-9px !important;
    right:-9px !important;
    left:auto !important;
    bottom:auto !important;
    width:22px !important;
    height:22px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:50% !important;
    background:#159b2e !important;
    color:#fff !important;
    font:700 14px/22px Arial,sans-serif !important;
    text-align:center !important;
    text-shadow:none !important;
    box-shadow:0 0 0 2px #fff !important;
    z-index:2147483647 !important;
    pointer-events:none !important;
    transform:none !important;
}
/* Elimina definitivamente qualquer selo/check antigo criado no elemento interno. */
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected .tellogic-vs-term-inner::before,
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected .tellogic-vs-term-inner::after {
    content:none !important;
    display:none !important;
    background:none !important;
    border:0 !important;
    box-shadow:none !important;
}

/* 0.5.103 - Afasta levemente o ticket das bordas para evitar cortes.
   Mantém o ticket circular verde visível mesmo quando o item ocupa toda a largura. */
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::before {
    top:3px !important;
    right:3px !important;
}
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::after {
    top:3px !important;
    right:3px !important;
}


/* 0.5.105 - Ticket definitivamente dentro do item.
   Não usa coordenadas negativas para não ser cortado por containers externos. */
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected {
    position:relative !important;
    overflow:visible !important;
    z-index:2147483000 !important;
}
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::before {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:3px !important;
    right:3px !important;
    left:auto !important;
    bottom:auto !important;
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    min-height:20px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-radius:50% !important;
    background:#159b2e !important;
    box-shadow:none !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
    transform:none !important;
    z-index:2147483646 !important;
    pointer-events:none !important;
}
form.variations_form .tellogic-vs-wrap .tellogic-vs-term.is-selected::after {
    content:"✓" !important;
    display:block !important;
    position:absolute !important;
    top:3px !important;
    right:3px !important;
    left:auto !important;
    bottom:auto !important;
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    min-height:20px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-radius:50% !important;
    background:transparent !important;
    color:#fff !important;
    font:700 14px/20px Arial,sans-serif !important;
    text-align:center !important;
    text-shadow:none !important;
    box-shadow:none !important;
    z-index:2147483647 !important;
    pointer-events:none !important;
}


/* 0.5.106 - Quando a lista possui barra de rolagem vertical, o ticket não pode ocupar a faixa da scrollbar.
   Mantém o círculo totalmente visível, deslocando-o alguns pixels para dentro do item selecionado. */
form.variations_form .tellogic-vs-wrap .tellogic-vs-terms.is-scrollable .tellogic-vs-term.is-selected::before {
    right:10px !important;
}
form.variations_form .tellogic-vs-wrap .tellogic-vs-terms.is-scrollable .tellogic-vs-term.is-selected::after {
    right:10px !important;
}

/* 0.5.107 - Ajuste final do ticket com scrollbar.
   Desce levemente o círculo para ficar totalmente dentro do botão/cartão,
   mantendo-o afastado da faixa da barra de rolagem. */
form.variations_form .tellogic-vs-wrap .tellogic-vs-terms.is-scrollable .tellogic-vs-term.is-selected::before,
form.variations_form .tellogic-vs-wrap .tellogic-vs-terms.is-scrollable .tellogic-vs-term.is-selected::after {
    top:6px !important;
    right:10px !important;
}


/* 0.5.111 — shortcode: attribute title without WooCommerce native layout */
.tellogic-vs-shortcode-group{display:block;width:100%;margin:0 0 14px;padding:0;box-sizing:border-box}
.tellogic-vs-shortcode-label{display:block;margin:0 0 8px;padding:0;font-size:16px;line-height:1.35;font-weight:600;color:#222;box-sizing:border-box}
.tellogic-vs-shortcode-group .tellogic-vs-wrap{margin-top:0!important}
.tellogic-vs-shortcode-group .tellogic-vs-terms{margin-top:0!important}

/* 0.5.112 — Ticket também no modo SHORTCODE.
   No shortcode os swatches ficam fora de form.variations_form, portanto as
   regras anteriores, propositalmente escopadas ao WooCommerce, não alcançavam
   Rádio, Rádio + imagem, Botão e Imagem. O mesmo ticket circular verde é
   aplicado aqui somente ao item .is-selected. */
.tellogic-vs-shortcode .tellogic-vs-term.is-selected {
    position:relative !important;
    overflow:visible !important;
    z-index:1000 !important;
}
.tellogic-vs-shortcode .tellogic-vs-term.is-selected .tellogic-vs-term-inner::before,
.tellogic-vs-shortcode .tellogic-vs-term.is-selected .tellogic-vs-term-inner::after {
    content:none !important;
    display:none !important;
    width:0 !important;
    height:0 !important;
    background:none !important;
    border:0 !important;
    box-shadow:none !important;
}
.tellogic-vs-shortcode .tellogic-vs-term.is-selected::before {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:1px !important;
    right:1px !important;
    left:auto !important;
    bottom:auto !important;
    width:20px !important;
    height:20px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:50% !important;
    background:#159b2e !important;
    box-shadow:0 0 0 1px rgba(255,255,255,.95) !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
    transform:none !important;
    z-index:2147483646 !important;
    pointer-events:none !important;
}
.tellogic-vs-shortcode .tellogic-vs-term.is-selected::after {
    content:"✓" !important;
    display:block !important;
    position:absolute !important;
    top:1px !important;
    right:1px !important;
    left:auto !important;
    bottom:auto !important;
    width:20px !important;
    height:20px !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    color:#fff !important;
    font:700 14px/20px Arial,sans-serif !important;
    text-align:center !important;
    text-shadow:none !important;
    z-index:2147483647 !important;
    pointer-events:none !important;
}
.tellogic-vs-shortcode .tellogic-vs-terms.is-scrollable .tellogic-vs-term.is-selected::before,
.tellogic-vs-shortcode .tellogic-vs-terms.is-scrollable .tellogic-vs-term.is-selected::after {
    top:6px !important;
    right:10px !important;
}


/* 0.5.113 — Ticket real em HTML: evita conflitos de pseudo-elementos, overflow e scrollbar.
   O círculo pertence ao próprio botão e fica sempre acima do conteúdo. */
.tellogic-vs-wrap .tellogic-vs-term,
.tellogic-vs-shortcode .tellogic-vs-term{
    position:relative !important;
    overflow:visible !important;
}
.tellogic-vs-wrap .tellogic-vs-term::before,
.tellogic-vs-wrap .tellogic-vs-term::after,
.tellogic-vs-shortcode .tellogic-vs-term::before,
.tellogic-vs-shortcode .tellogic-vs-term::after{
    content:none !important;
    display:none !important;
}
.tellogic-vs-selection-ticket{
    display:none !important;
    position:absolute !important;
    top:4px !important;
    right:4px !important;
    left:auto !important;
    bottom:auto !important;
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    min-height:20px !important;
    max-width:20px !important;
    max-height:20px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-radius:50% !important;
    background:#159b2e !important;
    color:#fff !important;
    font:700 14px/20px Arial,sans-serif !important;
    text-align:center !important;
    text-shadow:none !important;
    box-shadow:0 0 0 1px rgba(255,255,255,.95) !important;
    z-index:2147483647 !important;
    pointer-events:none !important;
    overflow:hidden !important;
}
.tellogic-vs-term.is-selected > .tellogic-vs-selection-ticket{
    display:block !important;
}

/* 0.5.114 — Shortcode: restaurar exatamente a apresentação dos modos Rádio.
   As regras antigas estavam escopadas a form.variations_form e, fora dele,
   o Radio + imagem perdia o texto e o Radio perdia seu layout. */
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio,
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-terms{
    display:block !important;
    width:100% !important;
}
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
    height:auto !important;
    position:relative !important;
    float:none !important;
    text-align:left !important;
    box-sizing:border-box !important;
}
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term-inner{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:34px !important;
    position:relative !important;
    box-sizing:border-box !important;
}
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term-radio{
    width:34px !important;
    min-width:34px !important;
    flex:0 0 34px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term-radio input{
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    min-height:22px !important;
    margin:0 !important;
}
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term-label{
    display:block !important;
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    padding:0 10px !important;
    color:inherit !important;
    font-size:14px !important;
    line-height:1.3 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-align:left !important;
}

.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term{
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 0 7px !important;
    padding:3px !important;
    position:relative !important;
    float:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
    text-align:left !important;
}
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-inner{
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    overflow:visible !important;
    box-sizing:border-box !important;
}
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-radio{
    position:absolute !important;
    left:0 !important;
    top:6px !important;
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    z-index:3 !important;
}
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-radio input{
    display:block !important;
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    min-height:22px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
}
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-radio-image{
    position:absolute !important;
    left:32px !important;
    top:0 !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    z-index:2 !important;
}
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-radio-image img{
    display:block !important;
    width:34px !important;
    height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    object-fit:contain !important;
    margin:0 !important;
    padding:0 !important;
}
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-label{
    position:absolute !important;
    left:76px !important;
    right:26px !important;
    top:0 !important;
    width:auto !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    display:flex !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    white-space:normal !important;
    text-overflow:ellipsis !important;
    color:inherit !important;
    font-size:14px !important;
    font-weight:400 !important;
    line-height:1.25 !important;
    text-align:left !important;
    z-index:4 !important;
}

/* Ticket do shortcode: garante o mesmo círculo verde e não o check solto. */
.tellogic-vs-shortcode .tellogic-vs-selection-ticket{
    display:none !important;
    position:absolute !important;
    top:4px !important;
    right:4px !important;
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    min-height:20px !important;
    max-width:20px !important;
    max-height:20px !important;
    padding:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-radius:50% !important;
    background:#159b2e !important;
    color:#fff !important;
    font:700 14px/20px Arial,sans-serif !important;
    text-align:center !important;
    box-shadow:0 0 0 1px rgba(255,255,255,.95) !important;
    z-index:2147483647 !important;
    pointer-events:none !important;
    overflow:hidden !important;
}
.tellogic-vs-shortcode .tellogic-vs-term.is-selected > .tellogic-vs-selection-ticket{display:block !important}


/* 0.5.116 — shortcode respeita integralmente "Linhas visíveis" e "Botões por linha".
   O JavaScript aplica max-height/overflow com !important porque as regras visuais
   do shortcode também usam !important. */
.tellogic-vs-shortcode .tellogic-vs-terms {
    grid-template-columns:repeat(var(--tvs-buttons-per-row,4),minmax(0,1fr)) !important;
    box-sizing:border-box !important;
}
.tellogic-vs-shortcode .tellogic-vs-terms.is-scrollable {
    overflow-y:scroll !important;
}


/* 0.5.117 — responsividade completa do shortcode (desktop / tablet / celular). */
.tellogic-vs-shortcode,
.tellogic-vs-shortcode-group,
.tellogic-vs-shortcode .tellogic-vs-wrap,
.tellogic-vs-shortcode .tellogic-vs-terms {
    width:100%;
    max-width:100%;
    box-sizing:border-box;
}
.tellogic-vs-shortcode .tellogic-vs-term {
    box-sizing:border-box !important;
    min-width:0 !important;
}
.tellogic-vs-shortcode .tellogic-vs-term-inner,
.tellogic-vs-shortcode .tellogic-vs-term-label {
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}
.tellogic-vs-shortcode .tellogic-vs-term-label {
    overflow-wrap:anywhere !important;
    word-break:normal !important;
}

/* Tablet: reduz apenas a quantidade de colunas quando necessário. */
@media (max-width: 1024px) {
    .tellogic-vs-shortcode .tellogic-vs-terms {
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:7px !important;
    }
    .tellogic-vs-shortcode .tellogic-vs-term {
        max-width:100% !important;
    }
}

/* Celular: opções ficam confortáveis para toque e não estouram a largura. */
@media (max-width: 767px) {
    .tellogic-vs-shortcode-group {
        margin-bottom:12px !important;
    }
    .tellogic-vs-shortcode-label {
        font-size:15px !important;
        line-height:1.35 !important;
        margin-bottom:7px !important;
    }
    .tellogic-vs-shortcode .tellogic-vs-terms {
        grid-template-columns:repeat(var(--tvs-effective-cols,var(--tvs-buttons-per-row,4)),minmax(0,1fr)) !important;
        gap:6px !important;
        width:100% !important;
        max-width:100% !important;
    }
    .tellogic-vs-shortcode .tellogic-vs-term {
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    /* Rádio sem imagem: uma opção por linha, preservando o rádio e o texto. */
    .tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-terms,
    .tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-terms {
        grid-template-columns:1fr !important;
    }
    .tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term,
    .tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term {
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    /* Rádio + imagem: permite que nomes longos quebrem sem sobrepor imagem/ticket. */
    .tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term {
        height:auto !important;
        min-height:44px !important;
        padding:3px 4px !important;
    }
    .tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-inner {
        height:auto !important;
        min-height:36px !important;
        max-height:none !important;
    }
    .tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term-label {
        right:30px !important;
        height:auto !important;
        min-height:36px !important;
        max-height:none !important;
        padding-top:1px !important;
        padding-bottom:1px !important;
        overflow:visible !important;
        text-overflow:clip !important;
        overflow-wrap:anywhere !important;
    }

    /* Botões/imagens: dimensões flexíveis para telas estreitas. */
    .tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-button .tellogic-vs-term,
    .tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-image .tellogic-vs-term {
        min-height:40px !important;
    }
    .tellogic-vs-shortcode .tellogic-vs-selection-ticket {
        top:3px !important;
        right:3px !important;
    }
}

/* Celulares muito estreitos: o número efetivo de colunas é calculado pelo JS
   respeitando a configuração do admin e a largura disponível. */
@media (max-width: 420px) {
    .tellogic-vs-shortcode .tellogic-vs-terms {
        grid-template-columns:repeat(var(--tvs-effective-cols,var(--tvs-buttons-per-row,4)),minmax(0,1fr)) !important;
    }
    .tellogic-vs-shortcode .tellogic-vs-term-label {
        font-size:14px !important;
    }
}
/* 0.5.118 — mobile: keep the selection ticket anchored inside the swatch.
   Some mobile/theme rules can turn the ticket into a normal flex child;
   these rules force it back to the selected button corner. */
@media (max-width: 767px) {
    .tellogic-vs-shortcode .tellogic-vs-term > .tellogic-vs-selection-ticket,
    .tellogic-vs-wrap .tellogic-vs-term > .tellogic-vs-selection-ticket {
        position:absolute !important;
        top:5px !important;
        right:5px !important;
        left:auto !important;
        bottom:auto !important;
        display:block !important;
        width:20px !important;
        height:20px !important;
        min-width:20px !important;
        min-height:20px !important;
        max-width:20px !important;
        max-height:20px !important;
        flex:none !important;
        transform:none !important;
        border-radius:50% !important;
        background:#159b2e !important;
        color:#fff !important;
        line-height:20px !important;
        text-align:center !important;
        z-index:2147483647 !important;
        pointer-events:none !important;
    }
    .tellogic-vs-shortcode .tellogic-vs-term:not(.is-selected) > .tellogic-vs-selection-ticket,
    .tellogic-vs-wrap .tellogic-vs-term:not(.is-selected) > .tellogic-vs-selection-ticket {
        display:none !important;
    }
}

/* 0.5.119 — mobile touch: keep the swatch itself as the click target. */
.tellogic-vs-shortcode .tellogic-vs-term {
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
}
.tellogic-vs-shortcode .tellogic-vs-selection-ticket {
    pointer-events: none !important;
}
@media (max-width: 767px) {
    .tellogic-vs-shortcode .tellogic-vs-term {
        cursor:pointer !important;
        -webkit-user-select:none !important;
        user-select:none !important;
    }
}


/* 0.5.121 — mobile: keep the WooCommerce add-to-cart row inside the
   available product-column width when swatches are rendered by shortcode. */
@media (max-width: 767px) {
    .variations_form .woocommerce-variation-add-to-cart,
    .variations_form .woocommerce-variation-add-to-cart-enabled,
    .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart {
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
        display:flex !important;
        flex-wrap:wrap !important;
        align-items:center !important;
        gap:8px !important;
        overflow:visible !important;
    }

    .variations_form .woocommerce-variation-add-to-cart .quantity,
    .variations_form .woocommerce-variation-add-to-cart .quantity.buttons_added {
        flex:0 0 auto !important;
        width:auto !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }

    .variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button,
    .variations_form .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
        flex:1 1 180px !important;
        width:auto !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        box-sizing:border-box !important;
        white-space:normal !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }
}

@media (max-width: 420px) {
    .variations_form .woocommerce-variation-add-to-cart,
    .variations_form .woocommerce-variation-add-to-cart-enabled {
        gap:7px !important;
    }
    .variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button,
    .variations_form .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
        flex-basis:150px !important;
        padding-left:12px !important;
        padding-right:12px !important;
        font-size:13px !important;
    }
}


/* 0.5.122 — Ticket único e limpo.
   As regras históricas de ticket por pseudo-elementos são anuladas novamente
   no final da folha para impedir qualquer aparência de dois selos sobrepostos.
   O único indicador visual passa a ser o elemento HTML .tellogic-vs-selection-ticket. */
.tellogic-vs-wrap .tellogic-vs-term::before,
.tellogic-vs-wrap .tellogic-vs-term::after,
.tellogic-vs-shortcode .tellogic-vs-term::before,
.tellogic-vs-shortcode .tellogic-vs-term::after {
    content:none !important;
    display:none !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}
.tellogic-vs-wrap .tellogic-vs-term > .tellogic-vs-selection-ticket,
.tellogic-vs-shortcode .tellogic-vs-term > .tellogic-vs-selection-ticket {
    position:absolute !important;
    top:3px !important;
    right:3px !important;
    left:auto !important;
    bottom:auto !important;
    width:21px !important;
    height:21px !important;
    min-width:21px !important;
    min-height:21px !important;
    max-width:21px !important;
    max-height:21px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-radius:50% !important;
    background:#159b2e !important;
    color:#fff !important;
    font:700 14px/21px Arial,sans-serif !important;
    text-align:center !important;
    text-indent:0 !important;
    text-shadow:none !important;
    box-shadow:none !important;
    outline:0 !important;
    z-index:2147483647 !important;
    pointer-events:none !important;
    overflow:hidden !important;
    transform:none !important;
}
.tellogic-vs-wrap .tellogic-vs-term:not(.is-selected) > .tellogic-vs-selection-ticket,
.tellogic-vs-shortcode .tellogic-vs-term:not(.is-selected) > .tellogic-vs-selection-ticket {
    display:none !important;
}
.tellogic-vs-wrap .tellogic-vs-term.is-selected > .tellogic-vs-selection-ticket,
.tellogic-vs-shortcode .tellogic-vs-term.is-selected > .tellogic-vs-selection-ticket {
    display:block !important;
}
@media (max-width:767px) {
    .tellogic-vs-wrap .tellogic-vs-term > .tellogic-vs-selection-ticket,
    .tellogic-vs-shortcode .tellogic-vs-term > .tellogic-vs-selection-ticket {
        top:3px !important;
        right:3px !important;
        width:21px !important;
        height:21px !important;
        min-width:21px !important;
        min-height:21px !important;
        max-width:21px !important;
        max-height:21px !important;
        line-height:21px !important;
    }
}


/* 0.5.123 — ticket verde menor e mais discreto em todas as modalidades. */
.tellogic-vs-wrap .tellogic-vs-term > .tellogic-vs-selection-ticket,
.tellogic-vs-shortcode .tellogic-vs-term > .tellogic-vs-selection-ticket {
    width:18px !important; height:18px !important;
    min-width:18px !important; min-height:18px !important;
    max-width:18px !important; max-height:18px !important;
    top:3px !important; right:3px !important;
    font-size:12px !important; line-height:18px !important;
    box-shadow:0 0 0 1px rgba(255,255,255,.95) !important;
}
@media (max-width:767px) {
    .tellogic-vs-wrap .tellogic-vs-term > .tellogic-vs-selection-ticket,
    .tellogic-vs-shortcode .tellogic-vs-term > .tellogic-vs-selection-ticket {
        width:18px !important; height:18px !important;
        min-width:18px !important; min-height:18px !important;
        max-width:18px !important; max-height:18px !important;
        top:3px !important; right:3px !important;
        font-size:12px !important; line-height:18px !important;
    }
}


/* 0.5.124 — Rádio simples e Rádio + imagem: somente um ticket.
   O rádio à esquerda continua sendo o indicador da opção; o ticket verde
   à direita é o único selo de seleção. Neutraliza definitivamente os
   pseudo-elementos antigos do botão/inner, que podiam gerar dois checks
   sobrepostos em WoodMart/Elementor. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected::before,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected::after,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected::before,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected::after,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected .tellogic-vs-term-inner::before,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected .tellogic-vs-term-inner::after,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected .tellogic-vs-term-inner::before,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected .tellogic-vs-term-inner::after,
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected::before,
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected::after,
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected::before,
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected::after,
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected .tellogic-vs-term-inner::before,
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected .tellogic-vs-term-inner::after,
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected .tellogic-vs-term-inner::before,
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected .tellogic-vs-term-inner::after {
    content:none !important;
    display:none !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    min-height:0 !important;
    background:none !important;
    border:0 !important;
    box-shadow:none !important;
}

/* Ticket HTML único — não cria outro pseudo-ticket. */
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term > .tellogic-vs-selection-ticket,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term > .tellogic-vs-selection-ticket,
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term > .tellogic-vs-selection-ticket,
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term > .tellogic-vs-selection-ticket {
    position:absolute !important;
    top:3px !important;
    right:3px !important;
    left:auto !important;
    bottom:auto !important;
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    min-height:18px !important;
    max-width:18px !important;
    max-height:18px !important;
    margin:0 !important;
    padding:0 !important;
    display:none !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-radius:50% !important;
    background:#159b2e !important;
    color:#fff !important;
    font:700 12px/18px Arial,sans-serif !important;
    text-align:center !important;
    text-indent:0 !important;
    text-shadow:none !important;
    box-shadow:0 0 0 1px rgba(255,255,255,.95) !important;
    outline:0 !important;
    z-index:2147483647 !important;
    pointer-events:none !important;
    overflow:hidden !important;
    transform:none !important;
}
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected > .tellogic-vs-selection-ticket,
form.variations_form .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected > .tellogic-vs-selection-ticket,
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio .tellogic-vs-term.is-selected > .tellogic-vs-selection-ticket,
.tellogic-vs-shortcode .tellogic-vs-wrap.tellogic-vs-type-radio_image .tellogic-vs-term.is-selected > .tellogic-vs-selection-ticket {
    display:block !important;
}
