/* ER8 Produto/Carrinho UX — CSS do módulo (extraído do JS, pedido do Paulo no MR !85).
   Carregado pelo hook actionFrontControllerSetMedia via registerStylesheet. Sem CSS-in-JS no módulo. */

/* ===== er-cart-ux-css ===== */
@keyframes erBump{0%{transform:scale(1)}30%{transform:scale(1.2)}100%{transform:scale(1)}}.ttvcmscart-show-dropdown-right .product-price.er-price-down{color:#0a8a3f!important;animation:erBump .5s ease}.ttvcmscart-show-dropdown-right .product-price.er-price-up{color:#d23b3b!important;animation:erBump .5s ease}.ttvcart-product-wrapper.er-qty-busy{position:relative}.ttvcart-product-wrapper.er-qty-busy .product-price{opacity:.3;transition:opacity .2s}.ttvcart-product-wrapper.er-qty-busy .er-qty-val{opacity:.45}.ttvcart-product-wrapper.er-qty-busy::after{content:"";position:absolute;right:14px;top:50%;width:16px;height:16px;margin-top:-8px;border:2px solid rgba(0,0,0,.15);border-top-color:#0a7;border-radius:50%;animation:erSpin .7s linear infinite;z-index:5;pointer-events:none}@keyframes erSpin{to{transform:rotate(360deg)}}.er-skel-line{display:flex;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid rgba(0,0,0,.06);animation:erSkelIn .25s ease}@keyframes erSkelIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.er-skel-line .er-skel-img{width:56px;height:56px;border-radius:10px;flex:0 0 auto}.er-skel-line .er-skel-txt{flex:1;display:flex;flex-direction:column;gap:8px}.er-skel-line .er-skel-bar{height:11px;border-radius:6px}.er-skel-bar,.er-skel-img{background:linear-gradient(90deg,#ececec 25%,#f7f7f7 37%,#ececec 63%);background-size:400% 100%;animation:erShimmer 1.15s ease infinite}@keyframes erShimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}.ttvcmscart-show-dropdown-right .er-cart-ref{display:block;font-size:11px;line-height:1.3;color:#8a9098;margin-top:1px;letter-spacing:.3px;font-weight:500}.ttvcart-no-product.er-loading-empty > *,.ttvcmscart-show-dropdown-right.er-adding .ttvcart-no-product > *,body.er-cart-adding .ttvcart-no-product > *{display:none!important}.ttvcart-no-product.er-loading-empty > .ttvcart-close-title-count,.ttvcart-no-product.er-loading-empty > .er-skel-line,.ttvcmscart-show-dropdown-right.er-adding .ttvcart-no-product > .ttvcart-close-title-count,.ttvcmscart-show-dropdown-right.er-adding .ttvcart-no-product > .er-skel-line,body.er-cart-adding .ttvcart-no-product > .ttvcart-close-title-count,body.er-cart-adding .ttvcart-no-product > .er-skel-line{display:flex!important}.ttvcmscart-show-dropdown-right.er-adding .ttvcart-no-product,.ttvcart-no-product.er-loading-empty,body.er-cart-adding .ttvcart-no-product{min-height:0!important}.ttvcmscart-show-dropdown-right .er-empty-cover{position:absolute;left:0;right:0;bottom:0;background:#fff;z-index:6;display:flex;flex-direction:column;overflow:hidden}.er-skel-line.er-skel-rich{gap:14px;padding:16px;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(10,160,106,.06),rgba(10,160,106,0))}.er-skel-line.er-skel-rich::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#0aa06a;opacity:.85}.er-skel-rich .er-skel-imgwrap{width:60px;height:60px;border-radius:12px;flex:0 0 auto;position:relative;overflow:hidden;background:#f1f1f1;box-shadow:0 4px 14px rgba(0,0,0,.10)}.er-skel-rich .er-skel-imgwrap img{width:100%;height:100%;object-fit:cover;display:block;animation:erSkelPulse 1.2s ease-in-out infinite}.er-skel-rich .er-skel-imgwrap .er-skel-sheen{position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);background-size:220% 100%;animation:erSheen 1.25s ease infinite}@keyframes erSkelPulse{0%,100%{opacity:.86}50%{opacity:1}}@keyframes erSheen{0%{background-position:140% 0}100%{background-position:-40% 0}}.er-skel-rich .er-skel-name{font-size:13px;font-weight:600;color:#2b2f36;line-height:1.35;max-height:36px;overflow:hidden}.er-skel-rich .er-skel-msg{display:flex;align-items:center;gap:7px;font-size:11.5px;color:#0a8a3f;font-weight:600;letter-spacing:.2px}.er-skel-rich .er-skel-msg .er-skel-dot{width:7px;height:7px;border-radius:50%;background:#0aa06a;animation:erDot 1s ease-in-out infinite}@keyframes erDot{0%,100%{transform:scale(.6);opacity:.45}50%{transform:scale(1);opacity:1}}@keyframes erPhoenix{0%{opacity:0;transform:translateY(10px) scale(.98);filter:saturate(.4) brightness(1.15)}55%{opacity:1;filter:saturate(1) brightness(1.04)}100%{opacity:1;transform:none;filter:none}}.ttvcart-product-wrapper.er-reveal{position:relative;animation:erPhoenix .62s cubic-bezier(.22,.7,.2,1) both}.ttvcart-product-wrapper.er-reveal::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:8px;box-shadow:inset 0 0 0 2px rgba(10,160,106,.45);opacity:0;animation:erRevealGlow .8s ease forwards}@keyframes erRevealGlow{0%{opacity:.9}100%{opacity:0}}.ttvcart-product-wrapper.er-row-dissolve{position:relative;animation:erDissolve .72s ease forwards;transition:max-height .72s ease,margin .72s ease,padding .72s ease!important;overflow:hidden}@keyframes erDissolve{0%{opacity:1;filter:none;transform:none}25%{filter:saturate(.55) brightness(1.06)}100%{opacity:0;transform:translateX(14px) scale(.97);filter:saturate(0) brightness(1.4) blur(2.5px)}}.ttvcart-product-wrapper.er-row-dissolve::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:8px;background:linear-gradient(90deg,rgba(214,59,59,.18),rgba(214,59,59,0) 70%);box-shadow:inset 3px 0 0 0 rgba(214,59,59,.75);opacity:0;animation:erDissolveGlow .72s ease forwards}@keyframes erDissolveGlow{0%{opacity:0}28%{opacity:1}100%{opacity:0}}.er-qty-val .er-qty-edit{display:inline-flex;align-items:center;gap:5px}.er-qty-val .er-qty-ok{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 auto;border:0;border-radius:7px;background:#0aa06a;color:#fff;cursor:pointer;padding:0;box-shadow:0 2px 8px rgba(10,160,106,.35);transition:background .15s,transform .1s}.er-qty-val .er-qty-ok svg{width:14px;height:14px}.er-qty-val .er-qty-ok:hover{background:#08855a}.er-qty-val .er-qty-ok:active{transform:scale(.92)}.er-qty-val .er-qty-cancel{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 auto;border:0;border-radius:7px;background:#e2574c;color:#fff;cursor:pointer;padding:0;box-shadow:0 2px 8px rgba(214,59,59,.32);transition:background .15s,transform .1s}.er-qty-val .er-qty-cancel svg{width:13px;height:13px}.er-qty-val .er-qty-cancel:hover{background:#c8453b}.er-qty-val .er-qty-cancel:active{transform:scale(.92)}

/* ===== er-cart-fx-css ===== */
.er-rocket{position:fixed;width:66px;height:66px;border-radius:16px;z-index:2147483640;pointer-events:none;display:flex;align-items:center;justify-content:center;font-size:38px;background:#0aa06a;color:#fff;box-shadow:0 14px 36px rgba(0,0,0,.38);background-size:cover;background-position:center;animation:erFly 1.45s cubic-bezier(.34,.02,.2,1) forwards;will-change:transform,opacity}.er-rocket-img{background-color:#fff;border:2px solid #fff}@keyframes erFly{0%{transform:translate(0,0) scale(1) rotate(0);opacity:1}18%{transform:translate(calc(var(--dx) * .08),-92px) scale(.98) rotate(-6deg);opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(.16) rotate(22deg);opacity:.05}}.er-cart-pulse{animation:erCartPulse .5s ease}@keyframes erCartPulse{0%{box-shadow:0 0 0 0 rgba(10,160,106,.0)}40%{box-shadow:inset 0 0 0 3px rgba(10,160,106,.5)}100%{box-shadow:0 0 0 0 rgba(10,160,106,0)}}.ttvcmscart-show-dropdown-right.er-cart-loading .product-price,.ttvcmscart-show-dropdown-right.er-cart-loading #tvcart-subtotal-products .ttvcart-product-value,.ttvcmscart-show-dropdown-right.er-cart-loading .ttvcart-product-label-value .ttvcart-product-value{color:transparent!important;text-shadow:none!important;position:relative}.ttvcmscart-show-dropdown-right.er-cart-loading .product-price *,.ttvcmscart-show-dropdown-right.er-cart-loading #tvcart-subtotal-products .ttvcart-product-value *,.ttvcmscart-show-dropdown-right.er-cart-loading .ttvcart-product-label-value .ttvcart-product-value *{color:transparent!important;text-shadow:none!important}.ttvcmscart-show-dropdown-right.er-cart-loading .product-price::after,.ttvcmscart-show-dropdown-right.er-cart-loading #tvcart-subtotal-products .ttvcart-product-value::after,.ttvcmscart-show-dropdown-right.er-cart-loading .ttvcart-product-label-value .ttvcart-product-value::after{content:"";position:absolute;left:-2px;right:-2px;top:50%;transform:translateY(-50%);height:1.05em;min-width:44px;border-radius:6px;background:linear-gradient(90deg,#e9e9e9 25%,#f7f7f7 37%,#e9e9e9 63%);background-size:400% 100%;animation:erShimmer 1.1s ease infinite}.ttvcmscart-show-dropdown-right .product-price{transition:color .3s ease}.btn-clichecart.er-buy-loading{position:relative!important;pointer-events:none}.btn-clichecart.er-buy-loading>*{opacity:.25!important}.btn-clichecart.er-buy-loading::after{content:"";position:absolute;top:50%;left:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border:2.5px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:erBuySpin .65s linear infinite;z-index:5}@keyframes erBuySpin{to{transform:rotate(360deg)}}

/* ===== er-xsell-css ===== */
@media (max-width:991px){.tvproduct-hover-btn .tvproduct-add-to-cart,.tvproduct-hover-btn .tvproduct-cart-btn,.tvproduct-hover-btn .add-to-cart,.tvproduct-hover-btn button.add-to-cart,.product-miniature .tvproduct-add-to-cart,.product-miniature .tvproduct-cart-btn,.product-miniature button.add-to-cart{display:none!important}}

/* ===== er-card-extras-css ===== */
.er-print-badge{position:absolute;top:10px;right:10px;z-index:4;width:36px;height:36px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 14px rgba(29,47,106,.26);border:1.5px solid #eaf0fb}.er-print-badge svg{width:19px;height:19px;overflow:visible}.er-print-badge svg .er-ink{y:22px;height:0;transition:y .6s cubic-bezier(.45,.05,.2,1),height .6s cubic-bezier(.45,.05,.2,1)}.tvproduct-wrapper:hover .er-print-badge svg .er-ink,.product-miniature:hover .er-print-badge svg .er-ink,.er-print-badge:hover svg .er-ink{y:3px;height:18px}.er-print-badge::after{content:attr(data-t);position:absolute;top:42px;right:0;background:#1d2f6a;color:#fff;font-size:10.5px;font-weight:600;padding:3px 8px;border-radius:7px;white-space:nowrap;opacity:0;transform:translateY(-4px);transition:.18s;pointer-events:none;z-index:5}.tvproduct-wrapper:hover .er-print-badge::after,.product-miniature:hover .er-print-badge::after,.er-print-badge:hover::after{opacity:1;transform:none}.er-sizebar{margin-top:10px;border-top:1px dashed #e9eef6;padding-top:10px}.er-sb-head{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#1d2f6a;text-transform:uppercase;letter-spacing:.4px;margin-bottom:7px}.er-sb-head svg{flex:0 0 auto;color:#1860A3}.er-sizes{display:flex;gap:6px}.er-sz{flex:1;min-width:0;border:1.4px solid #e3e9f3;background:#f7f9fd;border-radius:9px;padding:8px 0;text-align:center;font-weight:700;font-size:13px;color:#1860A3;cursor:pointer;transition:background .15s,border-color .15s}.er-sz.er-on{background:#1d2f6a;border-color:#1d2f6a;color:#fff}.er-szdim{margin-top:8px;font-size:12px;color:#23303a;background:#f3f6fc;border-radius:8px;padding:8px 10px;line-height:1.35;font-weight:600;color:#1d2f6a}


/* ======================================================================
   Regras movidas do tema (custom-overrides.css) — pedido do Paulo no MR !85.
   Funcionalidade visual do produto/carrinho (configurador, galeria, fix-bar,
   fly-to-cart, etc). Carregadas a partir do módulo. ===================== */

/* ===== Cards do configurador: base "sexy" + hover (tira capa + grow) + selecao cinematografica ===== */
#groups_cliche .img-attrs{ transition: transform .28s cubic-bezier(.22,1,.36,1), opacity .25s ease, box-shadow .28s ease, filter .25s ease !important; border-radius:16px; }
#groups_cliche .img-attrs figure.lightbox2, #groups_cliche .img-attrs .tz-gallery{ border-radius:16px; }
#groups_cliche .img-attrs img.img-thumbnail{ transition: box-shadow .28s ease, transform .28s cubic-bezier(.22,1,.36,1) !important; }
/* check moderno (gradiente + halo) */
#groups_cliche .er-opt-check{ width:26px !important; height:26px !important; font-size:15px !important; background:linear-gradient(135deg,#34c759,#1d7a1d) !important; box-shadow:0 3px 10px -2px rgba(36,136,35,.7), 0 0 0 2px #fff !important; }

/* HOVER (so desktop): cresce o CARD INTEIRO como um bloco -> foto + nome + PRECO crescem juntos
   e o preco fica SEMPRE colado ao border (escala em conjunto). O preco esta ancorado ao .tz-gallery
   (que esta DENTRO do card), por isso escala junto e nao muda de contentor (sem saltos). */
@media (min-width:992px){
  #groups_cliche .img-attrs{ cursor:pointer; transition: transform .28s cubic-bezier(.22,1,.36,1), opacity .25s ease; transform-origin:center center; }
  #groups_cliche .img-attrs .ng-price{ transform:none !important; }   /* sem escala propria — cresce com o card */
  #groups_cliche .img-attrs:hover{ opacity:1 !important; z-index:5; transform: translateY(-6px) scale(1.05); }
  #groups_cliche .img-attrs:hover img.img-thumbnail{ box-shadow:0 16px 32px -10px rgba(24,96,163,.6) !important; }
  /* a fila/painel nao deve cortar o card que cresce */
  #groups_cliche .img-attrs, #groups_cliche .tz-gallery, #groups_cliche .panel-collapse, #groups_cliche .tab-pane, #groups_cliche .combs, #groups_cliche .swiper-wrapper, #groups_cliche swiper-container{ overflow:visible !important; }
}

/* SELECIONADO: glow verde luminoso + anel a pulsar + burst cinematografico */
#groups_cliche .img-attrs.er-selected{ opacity:1 !important; }
#groups_cliche .img-attrs.er-selected img.img-thumbnail{ box-shadow:0 0 0 3px #34c759, 0 0 22px 1px rgba(52,199,89,.5), 0 12px 30px -8px rgba(36,136,35,.6) !important; }
#groups_cliche .img-attrs.er-selected figure.lightbox2::after{ content:""; position:absolute; inset:-2px; border-radius:16px; pointer-events:none; z-index:4; animation: erSelRing 1.9s ease-out infinite; }
@keyframes erSelRing{ 0%{box-shadow:0 0 0 0 rgba(52,199,89,.6)} 70%{box-shadow:0 0 0 14px rgba(52,199,89,0)} 100%{box-shadow:0 0 0 0 rgba(52,199,89,0)} }
/* ao selecionar (1x): burst de anel a expandir antes do pulsar continuo */
#groups_cliche .img-attrs.er-just-selected figure.lightbox2::after{ animation: erSelBurst .6s cubic-bezier(.2,.7,.3,1) 1, erSelRing 1.9s ease-out .6s infinite; }
@keyframes erSelBurst{ 0%{box-shadow:0 0 0 0 rgba(52,199,89,.95)} 100%{box-shadow:0 0 0 28px rgba(52,199,89,0)} }

/* AO SELECIONAR (1x): pop + varrimento de luz cinematografico */
#groups_cliche .img-attrs.er-just-selected img.img-thumbnail{ animation: erSelPop .5s cubic-bezier(.22,1.5,.36,1); }
@keyframes erSelPop{ 0%{transform:scale(1)} 45%{transform:scale(1.09)} 100%{transform:scale(1)} }
#groups_cliche .img-attrs.er-just-selected figure.lightbox2{ overflow:hidden; }
#groups_cliche .img-attrs.er-just-selected figure.lightbox2::before{ content:""; position:absolute; inset:0; z-index:5; pointer-events:none; background:linear-gradient(115deg, transparent 32%, rgba(255,255,255,.6) 50%, transparent 68%); transform:translateX(-130%); animation: erSweep .75s ease forwards; }
@keyframes erSweep{ to{ transform:translateX(130%); } }
/* nome SEMPRE acima da imagem (mesmo durante a animacao de seleccao) -> foto + preco + nome sempre visiveis */
#groups_cliche .img-attrs .ng-txtproduct{ z-index:3 !important; }
#groups_cliche .img-attrs .ng-price{ z-index:4 !important; }
/* SELECIONADO: preco e nome tambem a VERDE (gradiente) para combinar com o check */
#groups_cliche .img-attrs.er-selected .ng-price p,
#groups_cliche .img-attrs.er-selected .ng-txtproduct span{ background:linear-gradient(160deg,#1d7a1d,#34c759) !important; }
/* fly-to-cart: pulse no destino (wk-thumb da fixed bar) ao "receber" o card */
#wk_plus_thumbnail li.wk-thumb.er-thumb-pulse{ animation: erThumbPulse .45s ease; }
@keyframes erThumbPulse{ 0%{transform:scale(1)} 45%{transform:scale(1.25)} 100%{transform:scale(1)} }

/* ===== Galeria fullscreen (desktop): setas neutras/pequenas DENTRO da imagem + transicao ===== */
/* setas: neutras (sem azul), pequenas, discretas — estilo do ✎ das combinacoes */
.er-modal-nav{ position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; border:0; border-radius:50%; background:rgba(0,0,0,.30); color:#fff; font-size:21px; line-height:1; cursor:pointer; z-index:11; display:flex; align-items:center; justify-content:center; padding:0; transition:background .15s ease, opacity .15s ease; opacity:.8; }
.er-modal-nav:hover{ background:rgba(0,0,0,.5); opacity:1; }
.er-modal-nav:active{ transform:translateY(-50%) scale(.9); }
.er-modal-prev{ left:18px; }    /* dentro da imagem (~interior) */
.er-modal-next{ right:18px; }
/* X para fechar, no canto interior (topo-direito) da imagem — neutro, como as setas */
.er-modal-close{ position:absolute; top:12px; right:12px; width:34px; height:34px; border:0; border-radius:50%; background:rgba(0,0,0,.42); color:#fff; font-size:16px; line-height:1; cursor:pointer; z-index:12; display:flex; align-items:center; justify-content:center; padding:0; transition:background .15s ease; }
.er-modal-close:hover{ background:rgba(0,0,0,.62); }
@media (max-width:991px){ .er-modal-nav{ display:none; } }   /* mobile usa swipe — NAO mexer */

/* transicao slide+fade ao percorrer */
@keyframes erSlideR{ 0%{opacity:0; transform:translateX(46px) scale(.98)} 100%{opacity:1; transform:translateX(0) scale(1)} }
@keyframes erSlideL{ 0%{opacity:0; transform:translateX(-46px) scale(.98)} 100%{opacity:1; transform:translateX(0) scale(1)} }
#product-modal .js-modal-product-cover.er-slide-r{ animation: erSlideR .34s cubic-bezier(.22,1,.36,1); }
#product-modal .js-modal-product-cover.er-slide-l{ animation: erSlideL .34s cubic-bezier(.22,1,.36,1); }

/* desktop/tablet: lightbox CENTRADO mesmo no centro do ecra (centragem pelo modal-body = imagem, a prova de bala) */
@media (min-width:992px){
  #product-modal .modal-dialog, #product-modal .modal-content{ position:static !important; transform:none !important; margin:0 !important; padding:0 !important; width:auto !important; max-width:none !important; background:transparent !important; border:0 !important; box-shadow:none !important; }
  #product-modal .modal-header{ height:0 !important; min-height:0 !important; padding:0 !important; margin:0 !important; border:0 !important; overflow:visible !important; }
  #product-modal .modal-body{ position:fixed !important; top:50% !important; left:50% !important; transform:translate(-50%,-50%) !important; padding:0 !important; margin:0 !important; display:inline-block !important; line-height:0; }
  #product-modal .js-modal-product-cover, #product-modal .modal-body img{ max-height:84vh !important; max-width:min(700px,80vw) !important; width:auto !important; height:auto !important; border-radius:14px; box-shadow:0 22px 60px rgba(0,0,0,.6); display:block; }
  #product-modal .tvmodel-close, #product-modal .close{ position:fixed; top:18px; right:26px; color:#fff; opacity:.95; font-size:38px; z-index:12; }
}
/* contador 1/N (discreto, em baixo) */
.er-modal-count{ position:absolute; bottom:12px; left:50%; transform:translateX(-50%); background:rgba(0,0,0,.45); color:#fff; font:600 12px/1 -apple-system,Poppins,sans-serif; padding:6px 12px; border-radius:999px; z-index:11; pointer-events:none; letter-spacing:.6px; }

/* ===== Barra inferior: hover numa combinacao mostra capa com ✎ (edit) — afordancia de clique ===== */
@media (min-width:992px){
  #wk_plus_thumbnail li.wk-thumb{ position:relative; cursor:pointer; border-radius:8px; }
  #wk_plus_thumbnail li.wk-thumb img{ border-radius:8px; transition:opacity .18s ease; }
  /* hover: imagem a 30% transparente (como nos cards) + ✎ num circulo ao centro (mais percetivel) */
  #wk_plus_thumbnail li.wk-thumb:hover img{ opacity:.7; }
  #wk_plus_thumbnail li.wk-thumb::after{ content:"✎"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(.75); width:28px; height:28px; display:flex; align-items:center; justify-content:center; color:#fff; background:rgba(19,41,79,.82); border-radius:50%; font-size:15px; opacity:0; transition:opacity .18s ease, transform .18s ease; pointer-events:none; box-shadow:0 2px 7px rgba(0,0,0,.45); }
  #wk_plus_thumbnail li.wk-thumb:hover::after{ opacity:1; transform:translate(-50%,-50%) scale(1); }
}

/* preco da opcao colado ao topo (junto ao border branco, como o nome no fundo).
   IMPORTANTE: ancorar o preco ao CARD (.tz-gallery relative) e NAO ao slide — senao
   em monitores maiores que o Mac o preco cai FORA do card. Consistente em todas as resolucoes. */
@media (min-width:992px){   /* SO desktop — nao mexer no mobile */
  #groups_cliche .img-attrs .tz-gallery{ position:relative !important; }
  #groups_cliche .img-attrs .ng-price{ top:6px !important; left:0 !important; right:0 !important; }
}
/* preco unitario da fixed bar em modo "preview" (hover numa opcao): DOURADO vivo + brilho forte (chamativo) */
.total-price-unit.er-price-preview, .total-price-total.er-price-preview, .total-price-total-iva.er-price-preview{ color:#FFD741 !important; text-shadow:0 0 16px rgba(255,215,65,.95), 0 0 2px rgba(255,215,65,.9); transition:color .12s ease, text-shadow .12s ease; }
/* bump bem visivel "up & down" + pop de escala sempre que o valor muda */
@keyframes erPriceBump{ 0%{ transform:translateY(9px) scale(.9); opacity:.1; } 50%{ transform:translateY(-3px) scale(1.14); opacity:1; } 100%{ transform:translateY(0) scale(1); } }
.total-price-unit.er-bump{ display:inline-block; animation: erPriceBump .42s cubic-bezier(.22,1.5,.4,1); transform-origin:left center; }

/* preco unitario que MUDA na fixed bar: DESCE -> verde + seta p/ baixo; SOBE -> vermelho + seta p/ cima.
   Em TODAS as plataformas/resolucoes. O *grow* (pop de escala) acontece SO na entrada (uma vez, curto);
   ao voltar a branco e SO transicao de cor — SEM novo grow/scale. */
.total-price-unit{ transition:color .3s ease, text-shadow .3s ease; }
.total-price-unit.er-price-down{
  position:relative;
  color:#3BE37A !important;
  text-shadow:0 0 14px rgba(59,227,122,.95), 0 0 3px rgba(59,227,122,.9) !important;
}
.total-price-unit.er-price-up{
  position:relative;
  color:#FF5A4D !important;
  text-shadow:0 0 14px rgba(255,90,77,.95), 0 0 3px rgba(255,90,77,.9) !important;
}
/* POP de escala SO na entrada (uma vez) — separado da cor para nao haver scale na saida */
@keyframes erPricePop{ 0%{ transform:translateY(-5px) scale(1.16);} 45%{ transform:translateY(2px) scale(1.05);} 100%{ transform:translateY(0) scale(1);} }
.total-price-unit.er-price-pop{ display:inline-block; transform-origin:left center; animation: erPricePop .5s cubic-bezier(.22,1,.36,1); }
/* setas (flutuam junto ao preco, sem empurrar o layout) */
.total-price-unit.er-price-down::after{
  content:"▾"; position:absolute; right:-.72em; top:-.05em;
  color:#3BE37A; font-size:.82em; line-height:1; text-shadow:0 0 8px rgba(59,227,122,.95);
  animation: erDownArrow 1s ease;
}
.total-price-unit.er-price-up::after{
  content:"▴"; position:absolute; right:-.72em; top:-.05em;
  color:#FF5A4D; font-size:.82em; line-height:1; text-shadow:0 0 8px rgba(255,90,77,.95);
  animation: erUpArrow 1s ease;
}
@keyframes erDownArrow{ 0%{ opacity:0; transform:translateY(-90%);} 25%{ opacity:1; transform:translateY(0);} 65%{ opacity:1; transform:translateY(2px);} 100%{ opacity:0; transform:translateY(6px);} }
@keyframes erUpArrow{ 0%{ opacity:0; transform:translateY(90%);} 25%{ opacity:1; transform:translateY(0);} 65%{ opacity:1; transform:translateY(-2px);} 100%{ opacity:0; transform:translateY(-6px);} }


/* ====== PAGINA DE PRODUTO: remover o grid DUPLICADO de produtos similares (manter so o de baixo) ====== */
/* o bloco "Potrebbe piacerti anche" (.tvcmslike-product, owl-carousel) aparece por cima do grid de produtos da mesma categoria; o cliente quer apenas o de baixo */
.tvcmslike-product{ display:none !important; }
/* ===== Gradientes da marca em desktop/tablet: top bar + fix bar (nome+precos) + botao Comprar ===== */
@media (min-width:992px){
  /* top bar (header azul) — gradiente TOPO->BAIXO (como os cards) */
  .tvcmsdesktop-top-second{ background:linear-gradient(180deg,#1d2f6a,#1860A3) !important; }
  /* fix bar: UM gradiente clean por tras do nome + caixas de preco (sub-boxes transparentes) */
  .tvfooter-product-sticky-bottom .tvflex-items{ background:linear-gradient(160deg,#1d2f6a,#1860A3) !important; }
  .tvfooter-product-sticky-bottom .wk_price_block,
  .tvfooter-product-sticky-bottom .wk_price_block > *,
  .tvfooter-product-sticky-bottom .guide_quantity,
  .tvfooter-product-sticky-bottom .block-total-price-unit,
  .tvfooter-product-sticky-bottom .block-total-price-total,
  .tvfooter-product-sticky-bottom .block-total-price-total-iva{ background:transparent !important; }
  /* botao de acao (Comprar verde / Iniciar a impressao LARANJA): gradiente moderno + sombra/relevo.
     NAO forcar a COR — so um BRILHO translucido (background-image) por cima da cor que o tema define inline
     (verde p/ comprar, LARANJA p/ impressao). Assim respeita sempre a cor certa, sem JS. */
  .tvfooter-product-sticky-bottom .btn-clichecart,
  .btn-success.btn-clichecart, .tvfooter-mobile-add-to-cart .btn-clichecart{
    background-image:linear-gradient(160deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,.10) 40%, rgba(0,0,0,.10) 68%, rgba(0,0,0,.26) 100%) !important;
    box-shadow:0 6px 20px -6px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.30) !important;
    transition:filter .15s ease !important;
  }
  .tvfooter-product-sticky-bottom .btn-clichecart:hover, .btn-success.btn-clichecart:hover{ filter:brightness(1.07); }
}

/* ===== Video da galeria no fullscreen: QUADRADO (mesma moldura/resolucao das fotos), a cheio (cover), sem botoes ===== */
/* o video PREENCHE a moldura da foto (a img fica visibility:hidden a definir o espaco quadrado) */
#product-modal .modal-body{ position:relative; }
#product-modal .er-modal-video{ position:absolute; inset:0; border-radius:14px; overflow:hidden; box-shadow:0 22px 60px rgba(0,0,0,.6); background:#000; }
/* iframe 16:9 escalado para PREENCHER o quadrado (cover): largura 178% centrada, recorta as laterais */
#product-modal .er-modal-video iframe{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:178%; height:100%; border:0; }

/* ===== Botao Comprar: carrinho "anda" no hover, endireita+dispara no click, caixinhas a cair ===== */
@keyframes erCartWalk{ 0%,100%{ transform:translateX(16px) translateY(0) rotate(-3deg); } 50%{ transform:translateX(20px) translateY(-2px) rotate(3deg); } }
.img_button.er-cart-walk{ animation:erCartWalk .55s ease-in-out infinite; }
@keyframes erCartGo{ 0%{ transform:translateX(16px) rotate(0); } 45%{ transform:translateX(42px) rotate(0) scale(1.15); } 100%{ transform:translateX(28px) rotate(0); } }
.img_button.er-cart-go{ animation:erCartGo .55s cubic-bezier(.3,1.4,.5,1) forwards; }
.er-cart-box{ position:fixed; width:20px; height:20px; background:linear-gradient(150deg,#e6b878 0%,#c98a44 52%,#a96c2f 100%); border:1px solid rgba(72,42,14,.6); border-radius:3px; box-shadow:0 2px 5px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.32), inset 0 -2px 3px rgba(90,55,20,.4); z-index:99998; pointer-events:none; overflow:hidden; animation:erBoxDrop .62s ease-in forwards; }
/* fita-cola castanha/preta horizontal a atravessar a caixa (destaque) */
.er-cart-box::before{ content:""; position:absolute; left:-2px; right:-2px; top:36%; height:30%; background:linear-gradient(180deg,#4a2f14 0%,#2a1908 55%,#1c1004 100%); box-shadow:0 1px 0 rgba(255,255,255,.18) inset, 0 -1px 0 rgba(255,255,255,.12) inset, 0 0 2px rgba(0,0,0,.4); opacity:.95; }
/* costura central das abas da caixa (vertical) para parecer mesmo uma caixa */
.er-cart-box::after{ content:""; position:absolute; top:0; bottom:0; left:50%; width:1.5px; transform:translateX(-.75px); background:rgba(70,42,16,.55); }
@keyframes erBoxDrop{ 0%{ transform:translateY(0) scale(.7) rotate(0); opacity:0; } 25%{ opacity:1; } 100%{ transform:translateY(40px) scale(.5) rotate(22deg); opacity:0; } }
/* caixas empilhadas dentro do carrinho ao clicar (movimento de adicionar) */
.er-cart-box.er-cart-stack{ width:22px; height:22px; animation:erBoxStack .9s ease-out forwards; }
@keyframes erBoxStack{ 0%{ transform:translateY(-36px) scale(.6) rotate(-8deg); opacity:0; } 35%{ transform:translateY(0) scale(1) rotate(0); opacity:1; } 72%{ transform:translateY(0) scale(1) rotate(0); opacity:1; } 100%{ transform:translateY(3px) scale(.92); opacity:0; } }
/* ER8-ink-splash: produtos de IMPRESSAO -> em vez das caixas, salpicos de tinta (Opcao 1 "Splatter realista", aprovada pelo Ruben). Laranja da marca, gotas a saltar do botao. So desktop/tablet (>991), como as caixas. */
.er-ink-splash{ position:fixed; pointer-events:none; z-index:99998; transform:translate(-50%,-50%) scale(0); opacity:0; will-change:transform,opacity; --ia:#00a8e8; --ib:#0085c7; --ic:#005f86; background:radial-gradient(38% 30% at 34% 28%, rgba(255,255,255,.82) 0%, rgba(255,255,255,0) 60%),radial-gradient(120% 120% at 65% 75%, var(--ic) 0%, var(--ib) 38%, var(--ia) 100%); border-radius:64% 36% 57% 43% / 49% 58% 42% 51%; box-shadow:0 3px 6px rgba(0,0,0,.3), inset -2px -3px 5px rgba(0,0,0,.3); animation:erInkBlob .98s cubic-bezier(.18,.78,.28,1) forwards; }
.er-ink-splash.er-ink-drop{ border-radius:52% 48% 47% 53% / 56% 44% 56% 44%; box-shadow:0 2px 4px rgba(0,0,0,.32); background:radial-gradient(40% 38% at 32% 26%, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 62%),radial-gradient(120% 120% at 60% 70%, var(--ic) 0%, var(--ib) 45%, var(--ia) 100%); animation:erInkDrop .86s cubic-bezier(.16,.74,.3,1) forwards; }
@keyframes erInkBlob{ 0%{ transform:translate(-50%,-50%) translate(0,0) scale(0) rotate(0); opacity:0; } 16%{ opacity:1; } 55%{ transform:translate(-50%,-50%) translate(calc(var(--tx)*.82),calc(var(--ty)*.82)) scale(calc(var(--scl)*1.12)) rotate(calc(var(--rot)*.7)); opacity:1; } 100%{ transform:translate(-50%,-50%) translate(var(--tx),calc(var(--ty) + 12px)) scale(var(--scl)) rotate(var(--rot)); opacity:0; } }
@keyframes erInkDrop{ 0%{ transform:translate(-50%,-50%) translate(0,0) scale(0) rotate(0); opacity:0; } 20%{ opacity:1; } 100%{ transform:translate(-50%,-50%) translate(var(--tx),calc(var(--ty) + 18px)) scale(var(--scl)) rotate(var(--rot)); opacity:0; } }

/* ===== Botoes redondos dos cards de info (#showhidden): esfera PERFEITA + icon 100% centrado ===== */
/* eram 40x37 com padding assimetrico (8.5/14.75) e sem flex -> icon descentrado e forma oval */
#showhidden .card .btn-light,
#showhidden .card .btn.btn-light,
#showhidden .btn-light{
  width:42px !important; height:42px !important; min-width:42px !important;
  padding:0 !important; border-radius:50% !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  line-height:1 !important; text-align:center !important; aspect-ratio:1/1 !important; flex:0 0 auto !important;
}
#showhidden .card .btn-light > i,
#showhidden .card .btn-light > .fa,
#showhidden .btn-light > i, #showhidden .btn-light > svg{
  margin:0 !important; line-height:1 !important; display:block !important;
}

/* ER8-simple-reflow: tabs (Descrizione/Dettagli/Recensioni) movidas p/ a coluna direita em produtos simples
   (<=2 grupos, desktop+tablet) -> preenche o branco. Largura da coluna + espacamento. */
.er-reflow-tabs{ width:100% !important; margin-top:20px !important; clear:both !important; float:none !important; }
/* coluna esquerda sticky (produtos simples reflowed) — acompanha o scroll e para no fim da row (produtos similares).
   Precisa de: row em flex (align-start) + #content-wrapper sem scroll-container (overflow:clip, nao hidden, que
   matava o sticky). Sticky so >=768px (tablet+desktop); abaixo empilha normal. */
.er-flex-row{ display:flex !important; align-items:flex-start !important; flex-wrap:wrap !important; }
#content-wrapper.er-reflow-page{ overflow:clip !important; }
@media (min-width:768px){
  .er-sticky-left{ position:sticky !important; top:20px !important; align-self:flex-start !important; }
}

/* ===== ER8-cart-drawer (Opcao 3 "Imersivo da marca ER8") — CSS + JS (ER8-cart-drawer-js p/ as partes dinamicas) ===== */
.ttvcmscart-show-dropdown-right{ width:400px !important; max-width:94vw !important; display:flex !important; flex-direction:column !important; background:#fff !important; border-radius:18px 0 0 18px !important; box-shadow:0 30px 70px -25px rgba(29,47,106,.55), 0 4px 16px rgba(24,96,163,.16) !important; overflow:hidden !important; }
.ttvcmscart-show-dropdown-right .ttvcart-scroll-container{ flex:1 1 auto !important; min-height:0 !important; display:flex !important; flex-direction:column !important; padding:0 !important; }
/* HERO */
.ttvcmscart-show-dropdown-right .ttvcart-close-title-count{ position:relative !important; flex:0 0 auto !important; height:auto !important; min-height:0 !important; max-height:none !important; background:linear-gradient(135deg,#1d2f6a,#1860A3) !important; padding:18px 22px 20px !important; display:flex !important; flex-wrap:wrap !important; align-items:center !important; gap:12px !important; row-gap:14px !important; overflow:hidden !important; border-bottom:0 !important; }
.ttvcmscart-show-dropdown-right .ttvcart-close-title-count::before{ content:""; position:absolute; top:-60px; right:-50px; width:200px; height:200px; border-radius:50%; background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.26), rgba(255,255,255,0) 70%); z-index:0; }
.ttvcmscart-show-dropdown-right .ttvcart-close-title-count::after{ content:""; position:absolute; bottom:-46px; left:-30px; width:150px; height:150px; border-radius:50%; background:radial-gradient(circle at 50% 50%, rgba(47,184,77,.26), rgba(47,184,77,0) 70%); z-index:0; }
.ttvcmscart-show-dropdown-right .er-cart-ico{ position:relative; z-index:2; order:1; width:36px; height:36px; flex:0 0 auto; border-radius:11px; background:linear-gradient(135deg,#2fb84d,#1e7c2f); display:flex; align-items:center; justify-content:center; box-shadow:0 6px 16px rgba(36,136,35,.45); }
.ttvcmscart-show-dropdown-right .er-cart-ico svg{ width:20px; height:20px; }
.ttvcmscart-show-dropdown-right .ttvcart-top-title{ position:relative; z-index:2; order:2; flex:0 1 auto !important; min-width:0; display:flex !important; flex-direction:column !important; gap:2px; text-align:left !important; }
.ttvcmscart-show-dropdown-right .ttvcart-top-title h4{ margin:0 !important; color:#fff !important; font-size:18px !important; font-weight:800 !important; letter-spacing:1.3px !important; text-transform:uppercase !important; line-height:1.05 !important; }
.ttvcmscart-show-dropdown-right .er-cart-sub{ display:flex; align-items:center; gap:7px; font-size:11.5px; color:rgba(255,255,255,.8); letter-spacing:.2px; }
.ttvcmscart-show-dropdown-right .er-cart-cnt{ min-width:18px; height:18px; padding:0 5px; border-radius:20px; background:#fff; color:#1d2f6a; font-size:11px; font-weight:800; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 2px 5px rgba(0,0,0,.18); }
.ttvcmscart-show-dropdown-right .ttvcart-counter{ display:none !important; }
.ttvcmscart-show-dropdown-right .ttvclose-cart{ position:relative; z-index:2; order:3; margin-left:auto !important; width:34px !important; height:34px !important; min-width:34px !important; border-radius:11px !important; padding:0 !important; background:rgba(255,255,255,.14) !important; border:1px solid rgba(255,255,255,.22) !important; color:#fff !important; cursor:pointer; display:flex !important; align-items:center; justify-content:center; }
.ttvcmscart-show-dropdown-right .ttvclose-cart:hover{ background:rgba(255,255,255,.26) !important; }
.ttvcmscart-show-dropdown-right .ttvclose-cart::before{ content:""; width:14px; height:14px; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272.4%27%20stroke-linecap%3D%27round%27%3E%3Cpath%20d%3D%27M6%206l12%2012M18%206L6%2018%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272.4%27%20stroke-linecap%3D%27round%27%3E%3Cpath%20d%3D%27M6%206l12%2012M18%206L6%2018%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; background:#fff; }
/* barra portes gratis (hero, linha cheia) */
.ttvcmscart-show-dropdown-right .er-ship{ position:relative; z-index:2; order:4; flex:0 0 100%; width:100%; }
.ttvcmscart-show-dropdown-right .er-ship-row{ display:flex; align-items:center; gap:7px; font-size:11.5px; color:rgba(255,255,255,.9); font-weight:600; margin-bottom:7px; }
.ttvcmscart-show-dropdown-right .er-ship-row svg{ width:14px; height:14px; flex:0 0 auto; }
.ttvcmscart-show-dropdown-right .er-ship-row b{ color:#7CF09A; font-weight:800; }
.ttvcmscart-show-dropdown-right .er-ship-bar{ height:7px; border-radius:20px; background:rgba(255,255,255,.18); overflow:hidden; }
.ttvcmscart-show-dropdown-right .er-ship-bar i{ display:block; height:100%; border-radius:20px; background:linear-gradient(135deg,#2fb84d,#1e7c2f); box-shadow:0 0 12px rgba(47,184,77,.6); transition:width .5s cubic-bezier(.22,1,.36,1); }
/* ITENS — card por .ttvcart-product-wrapper */
.ttvcmscart-show-dropdown-right .ttvcart-product-content-box{ flex:1 1 auto !important; min-height:0 !important; overflow-y:auto !important; padding:16px 16px 8px !important; background:#f5f7fb !important; display:flex !important; flex-direction:column !important; gap:12px !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-wrapper{ display:flex !important; gap:13px !important; padding:13px !important; margin:0 !important; border-radius:16px !important; background:#fff !important; border:1px solid #eef2f8 !important; box-shadow:0 12px 28px -16px rgba(29,47,106,.4) !important; position:relative !important; }
.ttvcmscart-show-dropdown-right .tvcart-product-list-img{ flex:0 0 64px !important; width:64px !important; }
.ttvcmscart-show-dropdown-right .tvcart-product-list-img img{ width:64px !important; height:64px !important; border-radius:13px !important; object-fit:cover !important; box-shadow:0 6px 14px -4px rgba(24,96,163,.4) !important; }
.ttvcmscart-show-dropdown-right .tvcart-product-content{ flex:1 1 auto !important; min-width:0 !important; position:relative !important; padding-right:26px !important; text-align:left !important; }
.ttvcmscart-show-dropdown-right .tvshoping-cart-dropdown-title a{ text-decoration:none !important; }
.ttvcmscart-show-dropdown-right .product-name{ font-size:13.5px !important; font-weight:700 !important; color:#1f2a44 !important; line-height:1.25 !important; }
.ttvcmscart-show-dropdown-right .tvcart-product-list-box{ margin:6px 0 2px !important; font-size:11.5px !important; color:#6a7895 !important; display:flex; gap:5px; align-items:center; }
.ttvcmscart-show-dropdown-right .tvshopping-cart-qty{ color:#6a7895 !important; }
.ttvcmscart-show-dropdown-right .product-qty{ color:#1860A3 !important; font-weight:800 !important; }
.ttvcmscart-show-dropdown-right .product-price{ font-size:15px !important; font-weight:800 !important; color:#1f2a44 !important; position:absolute; right:0; bottom:0; }
/* stepper de quantidade (JS) */
.ttvcmscart-show-dropdown-right .er-qty-step{ display:inline-flex; align-items:center; border:1px solid #e2e9f3; border-radius:10px; overflow:hidden; background:#fff; margin-top:8px; }
.ttvcmscart-show-dropdown-right .er-qty-step button{ width:27px; height:27px; border:0; background:#fff; cursor:pointer; color:#1860A3; font-size:16px; font-weight:700; line-height:1; display:flex; align-items:center; justify-content:center; transition:.14s; padding:0; }
.ttvcmscart-show-dropdown-right .er-qty-step button:hover{ background:linear-gradient(135deg,#1d2f6a,#1860A3); color:#fff; }
.ttvcmscart-show-dropdown-right .er-qty-val{ min-width:46px; text-align:center; font-size:12.5px; font-weight:800; color:#1f2a44; padding:0 4px; }
.ttvcmscart-show-dropdown-right .er-qty-val{ cursor:pointer; }
.ttvcmscart-show-dropdown-right .er-qty-input{ width:48px; border:0; background:transparent; text-align:center; font-size:12.5px; font-weight:800; color:#1860A3; outline:none; -moz-appearance:textfield; padding:0; }
.ttvcmscart-show-dropdown-right .er-qty-input::-webkit-outer-spin-button, .ttvcmscart-show-dropdown-right .er-qty-input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.ttvcmscart-show-dropdown-right .ttvcart-product-wrapper.er-qty-busy{ opacity:.55; pointer-events:none; }
.ttvcmscart-show-dropdown-right .tvcart-product-remove{ position:absolute !important; top:0 !important; right:0 !important; margin:0 !important; }
.ttvcmscart-show-dropdown-right .tvcart-product-remove a{ width:26px !important; height:26px !important; border-radius:8px !important; border:1px solid #eef2f8 !important; background:#fff !important; display:flex !important; align-items:center !important; justify-content:center !important; }
.ttvcmscart-show-dropdown-right .tvcart-product-remove a:hover{ background:#fff4f4 !important; border-color:#f3c8c8 !important; }
.ttvcmscart-show-dropdown-right .tvcart-product-remove .material-icons{ width:14px !important; height:14px !important; font-size:0 !important; color:transparent !important; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%206h18M8%206V4a1%201%200%200%201%201-1h6a1%201%200%200%201%201%201v2m2%200v14a2%202%200%200%201-2%202H7a2%202%200%200%201-2-2V6%27%2F%3E%3Cpath%20d%3D%27M10%2011v6M14%2011v6%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%206h18M8%206V4a1%201%200%200%201%201-1h6a1%201%200%200%201%201%201v2m2%200v14a2%202%200%200%201-2%202H7a2%202%200%200%201-2-2V6%27%2F%3E%3Cpath%20d%3D%27M10%2011v6M14%2011v6%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; background-color:#aab6cd; display:inline-block !important; }
.ttvcmscart-show-dropdown-right .tvcart-product-remove a:hover .material-icons{ background-color:#d23a3a; }
/* selo pagamento seguro — ANTES dos precos (topo do bloco de totais) */
.ttvcmscart-show-dropdown-right .ttvcart-price-shipping-text{ flex:0 0 auto !important; padding:14px 18px 6px !important; background:#fff !important; border-top:1px solid #eef2f8 !important; }
.ttvcmscart-show-dropdown-right .ttvcart-price-shipping-text::before{ content:"Pagamento sicuro e crittografato"; display:flex; align-items:center; justify-content:center; gap:7px; margin-bottom:13px; padding:8px 10px 8px 30px; border-radius:9px; font-size:11px; font-weight:600; color:#248823; background:rgba(47,184,77,.10) url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23248823%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2022s8-4%208-10V5l-8-3-8%203v7c0%206%208%2010%208%2010z%27%2F%3E%3Cpath%20d%3D%27M9%2012l2%202%204-4%27%2F%3E%3C%2Fsvg%3E") no-repeat left 10px center; background-size:13px 13px; border:1px solid rgba(47,184,77,.25); }
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value{ display:flex !important; justify-content:space-between !important; align-items:center !important; font-size:12.5px !important; color:#6a7895 !important; margin-bottom:7px !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value .ttvcart-product-value{ color:#1f2a44 !important; font-weight:600 !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value.total{ border-top:1px solid #eef2f8 !important; padding-top:11px !important; margin-top:3px !important; margin-bottom:2px !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value.total .ttvshoping-cart-label{ font-size:13px !important; font-weight:700 !important; color:#1f2a44 !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value.total .ttvcart-product-value{ font-size:22px !important; font-weight:800 !important; letter-spacing:-.4px !important; background:linear-gradient(135deg,#1d2f6a,#1860A3) !important; -webkit-background-clip:text !important; background-clip:text !important; color:transparent !important; }
/* BOTOES — largura total + icone de cartao no checkout */
.ttvcmscart-show-dropdown-right .ttvcart-product-list-btn-wrapper{ flex:0 0 auto !important; display:flex !important; flex-direction:column !important; gap:10px !important; padding:6px 18px 18px !important; background:#fff !important; align-items:stretch !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout{ order:1 !important; width:100% !important; height:50px !important; border-radius:13px !important; border:0 !important; padding:0 !important; background:linear-gradient(135deg,#2fb84d,#1e7c2f) !important; box-shadow:0 12px 24px -8px rgba(36,136,35,.7), inset 0 1px 0 rgba(255,255,255,.25) !important; transition:transform .12s ease, box-shadow .2s ease !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout:hover{ transform:translateY(-2px) !important; box-shadow:0 16px 30px -8px rgba(36,136,35,.8) !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout a{ color:#fff !important; font-size:14px !important; font-weight:800 !important; letter-spacing:.3px !important; text-transform:uppercase !important; text-decoration:none !important; display:flex !important; align-items:center !important; justify-content:center !important; gap:9px !important; height:100% !important; white-space:nowrap !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout a::before{ content:""; width:18px; height:18px; flex:0 0 auto; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23ffffff%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%271%27%20y%3D%274%27%20width%3D%2722%27%20height%3D%2716%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M1%2010h22%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart{ order:2 !important; width:100% !important; height:46px !important; border-radius:13px !important; padding:0 !important; background:#fff !important; border:1.5px solid #1860A3 !important; transition:.16s !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart a{ color:#1860A3 !important; font-size:13.5px !important; font-weight:700 !important; text-decoration:none !important; display:flex !important; align-items:center !important; justify-content:center !important; height:100% !important; white-space:nowrap !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart:hover{ background:linear-gradient(135deg,#1d2f6a,#1860A3) !important; border-color:transparent !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart:hover a{ color:#fff !important; }

/* swipe-to-checkout */
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout{ position:relative !important; overflow:hidden !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout a::before{ display:none !important; }
/* knob MINIMALISTA branco + animacao convidativa (glow suave a pulsar) ; o "swipe right" vem das setas a fluir */
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout a{ padding-left:48px !important; }
.ttvcmscart-show-dropdown-right .er-slide-knob{ position:absolute; left:6px; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:12px; background:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 3px 10px rgba(0,0,0,.22); cursor:grab; z-index:3; touch-action:none; animation:er-knobglow 2s ease-in-out infinite; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout.er-sliding .er-slide-knob{ cursor:grabbing; animation:none; }
.ttvcmscart-show-dropdown-right .er-slide-knob svg{ width:19px; height:19px; }
@keyframes er-knobglow{ 0%,100%{ box-shadow:0 3px 10px rgba(0,0,0,.22); } 50%{ box-shadow:0 4px 18px rgba(255,255,255,.85), 0 0 0 5px rgba(255,255,255,.16); } }
/* setas a FLUIR para a direita — convite alegre a deslizar */
.ttvcmscart-show-dropdown-right .er-slide-hint{ position:absolute; right:14px; top:50%; transform:translateY(-50%); display:flex; align-items:center; z-index:2; pointer-events:none; }
.ttvcmscart-show-dropdown-right .er-slide-hint svg{ width:14px; height:14px; margin-left:-5px; color:#fff; opacity:.35; animation:er-wave 1.5s ease-in-out infinite; }
.ttvcmscart-show-dropdown-right .er-slide-hint svg:nth-child(2){ animation-delay:.16s; }
.ttvcmscart-show-dropdown-right .er-slide-hint svg:nth-child(3){ animation-delay:.32s; }
@keyframes er-wave{ 0%,55%,100%{ opacity:.3; transform:translateX(0); } 28%{ opacity:1; transform:translateX(3px); } }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout.er-sliding .er-slide-hint, .ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout.er-slide-done .er-slide-hint{ opacity:0; }

/* combinações inclusas na linha do carrinho (chips clicáveis -> produto na combinação) */
.ttvcmscart-show-dropdown-right .tvcart-product-list-attribute.er-combo{ display:flex; flex-wrap:wrap; gap:5px; margin:5px 0 7px; }
.ttvcmscart-show-dropdown-right .er-combo .tvcart-product-attr{ font-size:10.5px; line-height:1.25; color:#5b6b86; background:#f0f4fa; border:1px solid #e2e9f3; border-radius:7px; padding:3px 7px; text-decoration:none; transition:.15s; white-space:nowrap; }
.ttvcmscart-show-dropdown-right .er-combo .tvcart-product-attr b{ color:#1860A3; font-weight:700; }
.ttvcmscart-show-dropdown-right .er-combo .tvcart-product-attr:hover{ background:linear-gradient(135deg,#1d2f6a,#1860A3); border-color:transparent; color:#fff; }
.ttvcmscart-show-dropdown-right .er-combo .tvcart-product-attr:hover b{ color:#fff; }

/* combinacoes inclusas: SO IMAGEM (sem nome, sem tooltip); 5 por linha alinhadas com o fim do trash; >5 vai p/ 2a linha */
.ttvcmscart-show-dropdown-right .er-combo-strip{ display:flex; flex-wrap:wrap; gap:6px; margin:6px -60px 8px 0; }
.ttvcmscart-show-dropdown-right .er-combo-thumb{ flex:0 0 calc(20% - 5px); aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #e2e9f3; border-radius:9px; overflow:hidden; cursor:default; box-shadow:0 1px 3px rgba(29,47,106,.12); }
.ttvcmscart-show-dropdown-right .er-combo-img{ width:100%; height:100%; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.ttvcmscart-show-dropdown-right .er-combo-img img{ width:100%; height:100%; object-fit:cover; }
.ttvcmscart-show-dropdown-right .er-combo-lbl{ display:none; }   /* nome NUNCA mostrado — so a imagem */
/* opcoes SEM imagem (raro): mostram o valor em texto (nao ha thumbnail) */
.ttvcmscart-show-dropdown-right .er-combo-thumb.er-combo-noimg{ aspect-ratio:auto; padding:5px 7px; background:#f0f4fa; }
.ttvcmscart-show-dropdown-right .er-combo-thumb.er-combo-noimg .er-combo-lbl{ display:block; font-size:9.5px; line-height:1.15; color:#5b6b86; text-align:center; }

/* barra portes: icone de transporte no FIM (limiar 100€) */
.ttvcmscart-show-dropdown-right .er-ship-bar{ position:relative; overflow:visible !important; }
.ttvcmscart-show-dropdown-right .er-ship-goal{ position:absolute; right:-3px; top:50%; transform:translateY(-50%); width:22px; height:22px; border-radius:50%; background:#fff; border:2px solid #2fb84d; display:flex; align-items:center; justify-content:center; color:#1e7c2f; box-shadow:0 1px 5px rgba(0,0,0,.25); }
.ttvcmscart-show-dropdown-right .er-ship-goal svg{ width:12px; height:12px; }
.ttvcmscart-show-dropdown-right .er-ship-bar.er-ship-done .er-ship-goal{ background:linear-gradient(135deg,#2fb84d,#1e7c2f); border-color:transparent; color:#fff; box-shadow:0 0 11px rgba(47,184,77,.75); }
/* ===== MINIMO de compra (15€): AMARELO VIVO + texto preto; TUDO o que e verde fica amarelo ate atingir os 15€ ===== */
/* barra (fill amarelo vivo) + marca do euro no limiar dos 15% */
.ttvcmscart-show-dropdown-right .er-ship-bar.er-ship-min i{ background:linear-gradient(135deg,#FFD23B,#F5A300) !important; box-shadow:0 0 13px rgba(245,163,0,.75) !important; }
.ttvcmscart-show-dropdown-right .er-ship-minmark{ position:absolute; top:50%; transform:translate(-50%,-50%); width:19px; height:19px; border-radius:50%; background:#fff; border:2px solid #F5A300; display:flex; align-items:center; justify-content:center; color:#9a6b00; box-shadow:0 1px 5px rgba(0,0,0,.22); z-index:2; }
.ttvcmscart-show-dropdown-right .er-ship-minmark svg{ width:11px; height:11px; }
.ttvcmscart-show-dropdown-right .er-ship-minmark.er-reached{ background:linear-gradient(135deg,#2fb84d,#1e7c2f); border-color:transparent; color:#fff; }
/* drawer em modo amarelo: icone do carrinho (hero), camiao/bold da mensagem, goal, selo seguro */
.ttvcmscart-show-dropdown-right.er-under-min .er-cart-ico{ background:linear-gradient(135deg,#FFD23B,#F5A300) !important; box-shadow:0 6px 16px rgba(245,163,0,.5) !important; }
.ttvcmscart-show-dropdown-right.er-under-min .er-cart-ico svg{ color:#3a2e00; }
.ttvcmscart-show-dropdown-right.er-under-min .er-ship-row svg{ color:#FFD23B; }
.ttvcmscart-show-dropdown-right.er-under-min .er-ship-row b{ color:#FFD23B !important; }
.ttvcmscart-show-dropdown-right.er-under-min .er-ship-goal{ border-color:#F5A300; color:#9a6b00; }
.ttvcmscart-show-dropdown-right.er-under-min .er-secure{ color:#8a6000 !important; background:rgba(255,210,59,.14) !important; border-color:rgba(245,163,0,.4) !important; }
.ttvcmscart-show-dropdown-right.er-under-min .er-secure svg{ color:#8a6000 !important; }
/* PROCEDI bloqueado: amarelo vivo + texto PRETO + icone do cartao a condizer (nao verde) */
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout.er-min-block{ background:linear-gradient(135deg,#FFD23B,#F5A300) !important; box-shadow:0 12px 24px -8px rgba(245,163,0,.6) !important; cursor:not-allowed !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout.er-min-block a{ color:#1a1a1a !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout.er-min-block .er-slide-knob{ background:#fff; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout.er-min-block .er-slide-knob svg{ color:#C98A00 !important; stroke:#C98A00 !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout.er-min-block .er-slide-knob svg path{ fill:#C98A00 !important; stroke:#C98A00 !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout.er-min-block .er-slide-hint svg{ color:#1a1a1a; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout.er-min-block a::before{ display:none !important; }
/* nota do minimo (entre Procedi e Continua) */
.ttvcmscart-show-dropdown-right .er-min-note{ order:2; text-align:center; font-size:11px; color:#7a5600; background:rgba(255,210,59,.20); border:1px solid rgba(245,163,0,.45); border-radius:9px; padding:7px 10px; margin:0; }
.ttvcmscart-show-dropdown-right .er-min-note b{ color:#4a3500; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart{ order:3 !important; }
/* nota: envio calculado no check-out */
.ttvcmscart-show-dropdown-right .er-ship-note{ display:flex; align-items:center; gap:8px; padding:9px 18px 2px; font-size:11px; color:#6a7895; }
.ttvcmscart-show-dropdown-right .er-ship-note svg{ width:15px; height:15px; flex:0 0 auto; color:#1860A3; }
/* metodos de pagamento (footer, depois dos botoes) */
.ttvcmscart-show-dropdown-right .er-pay-methods{ display:flex; flex-wrap:wrap; gap:6px; justify-content:center; align-items:center; padding:2px 16px 16px; background:#fff; }
.ttvcmscart-show-dropdown-right .er-pay{ height:27px; min-width:42px; padding:0 8px; border-radius:6px; background:#fff; border:1px solid #e7ecf4; box-shadow:0 1px 3px rgba(20,40,90,.07); display:inline-flex; align-items:center; justify-content:center; gap:2px; font-family:Arial,Helvetica,sans-serif; font-weight:800; font-size:12px; line-height:1; box-sizing:border-box; }
.ttvcmscart-show-dropdown-right .er-pay svg{ height:16px; width:auto; display:block; }
.ttvcmscart-show-dropdown-right .erp-revolut{ color:#15171c; font-style:italic; font-size:11px; letter-spacing:-.3px; }
.ttvcmscart-show-dropdown-right .erp-pp{ font-style:italic; font-size:12px; }
.ttvcmscart-show-dropdown-right .erp-pp i{ font-style:italic; }
.ttvcmscart-show-dropdown-right .erp-pp i:first-child{ color:#003087; }
.ttvcmscart-show-dropdown-right .erp-pp i:last-child{ color:#009CDE; }
.ttvcmscart-show-dropdown-right .erp-gpay b, .ttvcmscart-show-dropdown-right .erp-apay b{ color:#3c4043; font-weight:700; font-size:12px; margin-left:2px; }
.ttvcmscart-show-dropdown-right .erp-visa{ color:#1A1F71; font-style:italic; letter-spacing:.5px; font-size:13px; }
.ttvcmscart-show-dropdown-right .erp-amex{ background:#2671B8; color:#fff; font-size:10px; letter-spacing:.6px; }
.ttvcmscart-show-dropdown-right .erp-card{ padding:0 6px; }
.ttvcmscart-show-dropdown-right .erp-card svg{ height:18px; }
/* novos metodos: Stripe (wordmark), MB WAY (azul), Multibanco (vermelho) */
.ttvcmscart-show-dropdown-right .erp-stripe b{ color:#635BFF; font-size:13px; font-style:italic; letter-spacing:-.3px; text-transform:lowercase; }
.ttvcmscart-show-dropdown-right .erp-mbway, .ttvcmscart-show-dropdown-right .erp-mb{ padding:0 5px; }
.ttvcmscart-show-dropdown-right .erp-mbway svg, .ttvcmscart-show-dropdown-right .erp-mb svg{ height:20px; }
/* Amazon Pay (wordmark: "amazon" + smile laranja + "pay") */
.ttvcmscart-show-dropdown-right .erp-amazon{ gap:3px; padding:0 8px; }
.ttvcmscart-show-dropdown-right .erp-amazon .erp-amz{ position:relative; color:#232F3E; font-weight:800; font-size:11px; letter-spacing:-.3px; line-height:1; padding-bottom:3px; }
.ttvcmscart-show-dropdown-right .erp-amazon .erp-amz::after{ content:""; position:absolute; left:0; right:-1px; bottom:0; height:5px; border-bottom:2px solid #FF9900; border-radius:0 0 60% 60%; }
.ttvcmscart-show-dropdown-right .erp-amazon .erp-azp{ color:#232F3E; font-weight:800; font-size:11px; letter-spacing:-.2px; }
/* botao Editar ao lado do eliminar (empurra o trash p/ a direita) */
.ttvcmscart-show-dropdown-right .tvcart-product-content{ padding-right:60px !important; }
.ttvcmscart-show-dropdown-right .er-edit-btn{ position:absolute !important; top:0 !important; right:32px !important; width:26px !important; height:26px !important; border-radius:8px !important; border:1px solid #eef2f8 !important; background:#fff !important; display:flex !important; align-items:center !important; justify-content:center !important; z-index:2; transition:.15s; text-decoration:none; }
.ttvcmscart-show-dropdown-right .er-edit-btn:hover{ background:#eef3fb !important; border-color:#cfe0f3 !important; }
.ttvcmscart-show-dropdown-right .er-edit-btn svg{ width:13px; height:13px; color:#1860A3; }

/* ====== RODAPE REORGANIZADO (.er-footer): nota envio -> totais -> botoes -> selo -> pagamentos ====== */
/* selo "pagamento seguro" deixa de ser ::before; passa a elemento real .er-secure (descido p/ antes dos pagamentos) */
.ttvcmscart-show-dropdown-right.er-reorg .ttvcart-price-shipping-text::before{ display:none !important; content:none !important; }
.ttvcmscart-show-dropdown-right.er-reorg .ttvcart-price-shipping-text{ border-top:0 !important; padding-top:4px !important; }
.ttvcmscart-show-dropdown-right .er-secure{ display:flex; align-items:center; justify-content:center; gap:7px; margin:2px 16px 12px; padding:9px 12px; border-radius:9px; font-size:11px; font-weight:600; color:#248823; background:rgba(47,184,77,.10); border:1px solid rgba(47,184,77,.25); }
.ttvcmscart-show-dropdown-right .er-secure svg{ width:14px; height:14px; flex:0 0 auto; color:#248823; }
/* nota de envio agora no TOPO do rodape (onde estava o selo) — pill neutra */
.ttvcmscart-show-dropdown-right .er-ship-note{ margin:12px 18px 2px !important; padding:8px 12px !important; border-radius:9px; background:#f4f7fc; border:1px solid #e7ecf4; }
/* rodape FIXO: a seta (handle) no topo mostra/oculta o corpo (.er-footer-body). Sem auto-colapso. */
.ttvcmscart-show-dropdown-right .er-footer{ flex:0 0 auto; background:#fff; box-shadow:0 -8px 20px -14px rgba(29,47,106,.4); }
.ttvcmscart-show-dropdown-right .er-footer.er-footer-collapsed{ max-height:0 !important; opacity:0; transform:translateY(16px); pointer-events:none; box-shadow:none; }
/* barra de topo: seta (toggle) sempre; quando minimizado aparece tambem o atalho de pagamento */
.ttvcmscart-show-dropdown-right .er-footer-bar{ display:flex; align-items:center; justify-content:center; gap:10px; padding:2px 14px; }
/* botao da seta: SEM fundo/contorno proprio em nenhum estado (so a pilula .er-fh-ic e visivel) */
.ttvcmscart-show-dropdown-right .er-footer-toggle{ display:flex; align-items:center; justify-content:center; flex:0 0 auto; height:24px; padding:0 4px; border:0; background:transparent !important; cursor:pointer; color:#1860A3; -webkit-appearance:none; appearance:none; -webkit-tap-highlight-color:transparent; outline:none !important; box-shadow:none !important; }
.ttvcmscart-show-dropdown-right .er-footer-toggle:focus,
.ttvcmscart-show-dropdown-right .er-footer-toggle:focus-visible,
.ttvcmscart-show-dropdown-right .er-footer-toggle:active{ background:transparent !important; outline:none !important; box-shadow:none !important; }
/* pilula da seta: azul-claro no estado normal -> azul gradiente (seta branca) quando minimizado */
.ttvcmscart-show-dropdown-right .er-footer-toggle .er-fh-ic{ display:flex; align-items:center; justify-content:center; width:48px; height:20px; border-radius:11px; background:#eef3fb; box-shadow:0 2px 6px -2px rgba(29,47,106,.3); transition:background .25s ease, box-shadow .25s ease, color .25s ease; }
.ttvcmscart-show-dropdown-right .er-footer-toggle:hover .er-fh-ic{ background:#e2ebf8; }
.ttvcmscart-show-dropdown-right .er-footer-toggle .er-fh-ic svg{ width:18px; height:18px; transition:transform .35s cubic-bezier(.4,0,.2,1); }
/* expandido: seta p/ baixo (clica para minimizar). Minimizado: seta p/ cima (clica para abrir) */
.ttvcmscart-show-dropdown-right .er-footer.er-footer-min .er-footer-toggle{ color:#fff; }
.ttvcmscart-show-dropdown-right .er-footer.er-footer-min .er-footer-toggle .er-fh-ic{ background:linear-gradient(135deg,#1d2f6a,#1860A3); box-shadow:0 6px 14px -4px rgba(29,47,106,.55); }
.ttvcmscart-show-dropdown-right .er-footer.er-footer-min .er-footer-toggle:hover .er-fh-ic{ background:linear-gradient(135deg,#22357a,#1d6fb8); }
.ttvcmscart-show-dropdown-right .er-footer.er-footer-min .er-footer-toggle .er-fh-ic svg{ transform:rotate(180deg); }
/* corpo: expandido mostra tudo (totais, botoes, selo, pagamentos) */
.ttvcmscart-show-dropdown-right .er-footer-body{ overflow:hidden; }
/* MINIMIZADO: a seta fica NO MESMO SITIO (centro do topo) e so muda a orientacao (180deg).
   Por baixo fica SO o botao de checkout, com a MESMA largura do estado normal (full). Oculta o resto. */
.ttvcmscart-show-dropdown-right .er-footer.er-footer-min .er-footer-body > .er-ship-note,
.ttvcmscart-show-dropdown-right .er-footer.er-footer-min .er-footer-body > .ttvcart-price-shipping-text,
.ttvcmscart-show-dropdown-right .er-footer.er-footer-min .er-footer-body > .er-secure,
.ttvcmscart-show-dropdown-right .er-footer.er-footer-min .er-footer-body > .er-pay-methods{ display:none !important; }
.ttvcmscart-show-dropdown-right .er-footer.er-footer-min .ttvcart-product-list-viewcart{ display:none !important; }

/* ====== CUE VISUAL "ha mais produtos em baixo" (so visual, sem texto) ====== */
.ttvcmscart-show-dropdown-right .ttvcart-scroll-container{ position:relative !important; }
.ttvcmscart-show-dropdown-right .er-scrollfade{ position:absolute; left:0; right:0; bottom:0; height:44px; background:linear-gradient(to top, #f5f7fb 10%, rgba(245,247,251,0)); pointer-events:none; opacity:0; transition:opacity .3s; z-index:3; }
.ttvcmscart-show-dropdown-right .er-scrollfade.er-cue-on{ opacity:1; }
.ttvcmscart-show-dropdown-right .er-scrollcue{ position:absolute; left:50%; bottom:9px; transform:translateX(-50%) translateY(8px); width:30px; height:30px; border-radius:50%; background:linear-gradient(135deg,#1d2f6a,#1860A3); box-shadow:0 6px 16px -3px rgba(29,47,106,.55); display:flex; align-items:center; justify-content:center; color:#fff; opacity:0; pointer-events:none; transition:opacity .3s, transform .3s; z-index:4; }
.ttvcmscart-show-dropdown-right .er-scrollcue svg{ width:16px; height:16px; }
.ttvcmscart-show-dropdown-right .er-scrollcue.er-cue-on{ opacity:1; animation:er-cuebounce 1.5s ease-in-out infinite; }
@keyframes er-cuebounce{ 0%,100%{ transform:translateX(-50%) translateY(0); } 50%{ transform:translateX(-50%) translateY(6px); } }

/* ====== ANIMACAO SUAVE AO ELIMINAR (encolhe + desliza p/ o lixo + fade) ====== */
.ttvcmscart-show-dropdown-right .ttvcart-product-wrapper.er-row-removing{ overflow:hidden !important; opacity:0 !important; transform:translateX(36px) scale(.93) !important; box-shadow:none !important; padding-top:0 !important; padding-bottom:0 !important; margin-top:0 !important; margin-bottom:0 !important; transition:max-height .38s cubic-bezier(.4,0,.2,1), opacity .3s ease, transform .34s cubic-bezier(.5,0,.75,0), padding .38s ease, margin .38s ease !important; }

/* ====== CARDS DE PRODUTO — design "Glass & Gradient" (grid) + estrelas de review animadas no hover ====== */
.tvproduct-wrapper.grid{ position:relative; cursor:pointer; background:#fff; border:1px solid #e7ecf4; border-radius:16px; overflow:hidden; box-shadow:0 1px 3px rgba(31,42,68,.05); transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease, border-color .3s ease; display:flex; flex-direction:column; height:100%; }
/* ===== QUICK-VIEW lightbox (lupa): galeria do produto + video ===== */
#er-qv.er-qv-overlay{ position:fixed; inset:0; z-index:99999; background:rgba(15,23,42,.74); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; padding:20px; opacity:0; transition:opacity .25s ease; }
#er-qv.er-qv-overlay.on{ opacity:1; }
#er-qv .er-qv-modal{ background:#fff; border-radius:18px; max-width:640px; width:100%; max-height:92vh; overflow:auto; padding:18px; position:relative; box-shadow:0 30px 80px -20px rgba(0,0,0,.6); transform:translateY(14px); transition:transform .25s cubic-bezier(.2,.7,.2,1); }
#er-qv.er-qv-overlay.on .er-qv-modal{ transform:none; }
#er-qv .er-qv-close{ position:absolute; top:12px; right:12px; width:36px; height:36px; border-radius:50%; border:0; background:#f0f4fa; color:#1d2f6a; font-size:22px; line-height:1; cursor:pointer; z-index:2; display:flex; align-items:center; justify-content:center; transition:.15s; }
#er-qv .er-qv-close:hover{ background:#e2e9f3; }
#er-qv .er-qv-stagewrap{ position:relative; }
#er-qv .er-qv-stage{ width:100%; aspect-ratio:1/1; background:#f5f7fb; border-radius:13px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
#er-qv .er-qv-nav{ position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50%; border:0; background:rgba(255,255,255,.92); color:#1d2f6a; font-size:18px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(0,0,0,.22); z-index:4; transition:.15s; }
#er-qv .er-qv-nav:hover{ background:#fff; }
#er-qv .er-qv-prev{ left:10px; }
#er-qv .er-qv-next{ right:10px; }
@media (max-width:560px){ #er-qv .er-qv-nav{ width:36px; height:36px; font-size:16px; } }
#er-qv .er-qv-main{ width:100%; height:100%; object-fit:contain; }
#er-qv .er-qv-vidwrap{ position:relative; width:100%; height:100%; }
#er-qv .er-qv-vidwrap iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
#er-qv .er-qv-name{ font-family:Georgia,'Times New Roman',serif; font-size:17px; font-weight:700; color:#1f2a44; margin:14px 4px 11px; }
#er-qv .er-qv-thumbs{ display:flex; gap:8px; flex-wrap:wrap; }
#er-qv .er-qv-th{ width:58px; height:58px; border-radius:9px; overflow:hidden; border:2px solid transparent; background:#f5f7fb; padding:0; cursor:pointer; position:relative; }
#er-qv .er-qv-th.on{ border-color:#1860A3; }
#er-qv .er-qv-th img{ width:100%; height:100%; object-fit:cover; }
#er-qv .er-qv-play{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; background:rgba(0,0,0,.38); font-size:15px; }

/* pack / multiplo de compra (canto inferior direito, ao lado do preco) */
.tvproduct-wrapper.grid .tvproduct-info-box-wrapper{ position:relative; }
.tvproduct-wrapper.grid .product-description{ position:relative; }
.tvproduct-wrapper.grid .er-pack{ position:absolute; right:0; bottom:0; display:inline-flex; align-items:center; gap:4px; padding:3px 9px; border-radius:999px; background:#eef3fb; border:1px solid #dbe6f5; color:#1860A3; font-size:11px; font-weight:800; line-height:1; }
.tvproduct-wrapper.grid .er-pack svg{ width:13px; height:13px; flex:0 0 auto; }
/* preco real "a partire da" */
.tvproduct-wrapper.grid .er-from{ display:block; font-family:Arial,Helvetica,sans-serif; font-size:9.5px; font-weight:700; color:#8a96ad; text-transform:uppercase; letter-spacing:.04em; line-height:1; margin-bottom:2px; }
/* badge de preco na imagem (canto superior esquerdo) */
.tvproduct-wrapper.grid .er-price-badge{ position:absolute; top:12px; left:12px; z-index:4; background:linear-gradient(135deg,#1d2f6a,#1860A3); color:#fff; font-family:Georgia,'Times New Roman',serif; font-weight:700; font-size:13px; padding:5px 11px; border-radius:999px; box-shadow:0 6px 16px -4px rgba(29,47,106,.55); }
/* botao verde "Aggiungi" fixo */
.tvproduct-wrapper.grid .er-add-btn{ display:flex; align-items:center; justify-content:center; gap:8px; margin-top:11px; height:42px; border-radius:12px; background:linear-gradient(135deg,#2fb84d,#1e7c2f); color:#fff !important; font-weight:800; font-size:13.5px; text-decoration:none; box-shadow:0 10px 20px -8px rgba(36,136,35,.6); transition:transform .12s ease, box-shadow .2s ease; }
.tvproduct-wrapper.grid .er-add-btn:hover{ transform:translateY(-2px); box-shadow:0 14px 26px -8px rgba(36,136,35,.72); }
.tvproduct-wrapper.grid .er-add-btn svg{ width:17px; height:17px; }
.tvproduct-wrapper.grid .er-add-btn svg path{ fill:#fff; }
.tvproduct-wrapper.grid .er-add-btn span{ color:#fff; }
.tvproduct-wrapper.grid:hover{ transform:translateY(-8px); box-shadow:0 26px 50px -20px rgba(24,53,120,.42); border-color:#d4ddee; }
/* imagem + zoom suave */
.tvproduct-wrapper.grid .tvproduct-image{ position:relative; overflow:hidden; background:#fbfcfe; }
.tvproduct-wrapper.grid .tvproduct-image img.tvproduct-defult-img{ transition:transform 1s cubic-bezier(.18,.7,.2,1) !important; }
.tvproduct-wrapper.grid:hover .tvproduct-image img.tvproduct-defult-img{ transform:scale(1.07); }
/* OVERLAY glass com acoes + estrelas (revela no hover) */
.tvproduct-wrapper.grid .tvproduct-hover-btn{ position:absolute !important; inset:0 !important; display:flex !important; flex-wrap:wrap; align-content:center; align-items:center; justify-content:center; gap:12px; padding:16px; margin:0 !important; opacity:0; background:linear-gradient(160deg, rgba(29,47,106,.40), rgba(24,96,163,.34)); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); transition:opacity .35s ease; z-index:3; }
.tvproduct-wrapper.grid:hover .tvproduct-hover-btn{ opacity:1; }
/* botoes circulares glass (quickview / cart / wishlist) */
.tvproduct-wrapper.grid .tvproduct-hover-btn > div:not(.er-prod-stars):not(.tvcompare-wrapper), .tvproduct-wrapper.grid .tvproduct-hover-btn > a:not(.er-prod-stars):not(.tvcompare-wrapper){ width:46px !important; height:46px !important; min-width:46px !important; max-width:46px; border-radius:50% !important; background:rgba(255,255,255,.96) !important; display:flex !important; align-items:center !important; justify-content:center !important; box-shadow:0 6px 16px rgba(0,0,0,.22); transition:transform .25s ease, background .2s ease; padding:0 !important; margin:0 !important; transform:translateY(10px); }
.tvproduct-wrapper.grid:hover .tvproduct-hover-btn > div:not(.er-prod-stars):not(.tvcompare-wrapper), .tvproduct-wrapper.grid:hover .tvproduct-hover-btn > a:not(.er-prod-stars):not(.tvcompare-wrapper){ transform:translateY(0); }
.tvproduct-wrapper.grid .tvproduct-hover-btn > div:not(.er-prod-stars):not(.tvcompare-wrapper):hover, .tvproduct-wrapper.grid .tvproduct-hover-btn > a:not(.er-prod-stars):not(.tvcompare-wrapper):hover{ background:#fff !important; transform:translateY(-3px); }
.tvproduct-wrapper.grid .tvproduct-hover-btn form{ margin:0 !important; width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.tvproduct-wrapper.grid .tvproduct-hover-btn a, .tvproduct-wrapper.grid .tvproduct-hover-btn button{ background:transparent !important; border:0 !important; box-shadow:none !important; width:100% !important; height:100% !important; min-height:0 !important; display:flex !important; align-items:center !important; justify-content:center !important; padding:0 !important; margin:0 !important; cursor:pointer; }
.tvproduct-wrapper.grid .tvproduct-hover-btn svg{ width:19px !important; height:19px !important; }
.tvproduct-wrapper.grid .tvproduct-hover-btn svg path{ fill:#1d2f6a !important; }
.tvproduct-wrapper.grid .tvproduct-hover-btn svg circle, .tvproduct-wrapper.grid .tvproduct-hover-btn svg rect, .tvproduct-wrapper.grid .tvproduct-hover-btn svg line, .tvproduct-wrapper.grid .tvproduct-hover-btn svg polyline{ stroke:#1d2f6a !important; }
/* esconder compare (mockup tem so 3: cart/view/favorite) */
.tvproduct-wrapper.grid .tvproduct-hover-btn [class*="compare"]{ display:none !important; }
/* ESTRELAS de review — por baixo das acoes, preenchem no hover (valor real via JS) */
.tvproduct-wrapper.grid .er-prod-stars{ flex:0 0 100%; display:none; align-items:center; justify-content:center; gap:9px; margin-top:4px; opacity:0; transform:translateY(10px); transition:opacity .35s ease .08s, transform .35s ease .08s; }
.tvproduct-wrapper.grid .er-prod-stars.er-has{ display:flex; }
.tvproduct-wrapper.grid:hover .er-prod-stars.er-has{ opacity:1; transform:translateY(0); }
.tvproduct-wrapper.grid .er-prod-stars .er-stars-box{ position:relative; display:inline-block; line-height:1; }
.tvproduct-wrapper.grid .er-prod-stars .er-stars-bg, .tvproduct-wrapper.grid .er-prod-stars .er-stars-fill{ font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1; letter-spacing:3px; white-space:nowrap; display:block; }
.tvproduct-wrapper.grid .er-prod-stars .er-stars-bg{ color:rgba(255,255,255,.45); }
.tvproduct-wrapper.grid .er-prod-stars .er-stars-fill{ position:absolute; left:0; top:0; color:#FFC83D; width:0; overflow:hidden; }
.tvproduct-wrapper.grid:hover .er-prod-stars.er-has .er-stars-fill{ width:var(--er-fill,0%); transition:width .9s cubic-bezier(.2,.7,.2,1) .1s; }
.tvproduct-wrapper.grid .er-prod-stars .er-stars-val{ color:#fff; font-size:11.5px; font-weight:800; letter-spacing:.2px; }
/* INFO: categoria + nome serif + preco (layout vertical) */
.tvproduct-wrapper.grid .tvproduct-info-box-wrapper{ padding:14px 15px 16px !important; display:flex; flex-direction:column; gap:5px; flex:1 1 auto; }
.tvproduct-wrapper.grid .product-description{ min-height:0 !important; display:flex !important; flex-direction:column; gap:5px; }
.tvproduct-wrapper.grid .er-prod-cat{ font-size:10.5px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:#1860A3; }
.tvproduct-wrapper.grid .product-description .col-xs-9, .tvproduct-wrapper.grid .product-description .col-xs-3{ width:100% !important; max-width:100% !important; flex:0 0 100% !important; padding:0 !important; }
.tvproduct-wrapper.grid .tvproduct-name.product-title h6{ font-family:Georgia,'Times New Roman',serif; font-size:15px !important; font-weight:700 !important; color:#1f2a44 !important; line-height:1.3 !important; margin:0 !important; }
.tvproduct-wrapper.grid .tvproduct-name.product-title a{ text-decoration:none; }
.tvproduct-wrapper.grid .tv-product-price{ margin-top:2px; }
.tvproduct-wrapper.grid .price{ font-family:Georgia,'Times New Roman',serif; font-size:19px !important; font-weight:700 !important; color:#1d2f6a !important; }
.tvproduct-wrapper.grid .regular-price{ color:#9aa6bd !important; font-size:13px; }
.tvproduct-wrapper.grid .regular-price{ color:#9aa6bd !important; font-size:13px; }
/* ===== ER8 lote fixes 2026-06-17 (cards categoria + side cart mobile/edit) ===== */
/* item 1: badge do pack com emoji 📦 (igual ao feed) em vez do cubo minimalista */
.tvproduct-wrapper.grid .er-pack .er-pack-emoji{ font-size:13px; line-height:1; display:inline-block; }
/* item 4: botão "Adicionar X€ para encomendar" (min-block) — texto grande cortava em várias línguas.
   Deixa quebrar linha, fonte menor, sem caixa-alta; esconde o knob (não-funcional quando bloqueado). */
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout.er-min-block .er-slide-knob{ display:none !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout.er-min-block a{ white-space:normal !important; font-size:11.5px !important; line-height:1.18 !important; letter-spacing:0 !important; text-transform:none !important; text-align:center !important; padding:6px 14px !important; }

/* ===== ER8 fixed-bar lote 2026-06-17b (SÓ desktop/tablet ≥992px; mobile intacto) ===== */
@media (min-width:992px){
  /* combos: TODAS numa só linha, encolhem p/ caber até ao fim da barra, sem 2ª fila, sem sair da área */
  .tvfooter-product-sticky-bottom #views_block{ overflow:hidden !important; }
  .tvfooter-product-sticky-bottom #thums_list{ width:100% !important; }
  .tvfooter-product-sticky-bottom #thumbs_list_frame{ display:flex !important; flex-wrap:nowrap !important; width:100% !important; gap:4px !important; transform:none !important; left:0 !important; }
  .tvfooter-product-sticky-bottom #thumbs_list_frame li.wk-thumb{ flex:1 1 0 !important; min-width:0 !important; max-width:50px !important; width:auto !important; margin:0 !important; }
  .tvfooter-product-sticky-bottom #thumbs_list_frame li.wk-thumb img{ width:100% !important; height:auto !important; display:block !important; }
  /* 1ª linha — preço unitário a BOLD (como no mobile) */
  .tvfooter-product-sticky-bottom .total-price-unit,
  .tvfooter-product-sticky-bottom .block-total-price-unit{ font-weight:800 !important; }
  /* botão "Compra" a BOLD + um pouco maior */
  .tvfooter-product-sticky-bottom .btn-clichecart span{ font-weight:800 !important; font-size:34px !important; }
}

/* ===== ER8 fixed-bar lote 2026-06-17c (correções: botão min-order, Comprar centrado, combos 5+) ===== */
/* item 4 (revisto): botão "Adicionar X€ para encomendar" — texto MAIOR + ícone de carrinho (escuro) de volta */
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout.er-min-block a{ font-size:13.5px !important; line-height:1.2 !important; gap:8px !important; padding:6px 14px !important; white-space:normal !important; text-transform:none !important; letter-spacing:0 !important; text-align:center !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout.er-min-block a::before{ display:inline-block !important; width:20px !important; height:20px !important; flex:0 0 auto !important; background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%231a1a1a'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='9'%20cy='21'%20r='1'/%3E%3Ccircle%20cx='20'%20cy='21'%20r='1'/%3E%3Cpath%20d='M1%201h4l2.68%2013.39a2%202%200%200%200%202%201.61h9.72a2%202%200%200%200%202-1.61L23%206H6'/%3E%3C/svg%3E") center/contain no-repeat !important; }

@media (min-width:992px){
  /* item B: texto "Comprar" estava um pouco acima do centro (inline bottom:10px o empurra p/ cima) -> centrar */
  .tvfooter-product-sticky-bottom .btn-clichecart span{ bottom:0 !important; }
  /* item A: combos da fixed bar — fallback 50px (≤4); o JS (er-fitCombos) encolhe só a partir da 5ª */
  .tvfooter-product-sticky-bottom #thumbs_list_frame li.wk-thumb{ flex:0 0 auto !important; width:50px !important; max-width:50px !important; min-width:0 !important; }
}

/* ===== ER8 lote 2026-06-17d (side cart add-loading + Comprar centragem) ===== */
/* Comprar: com bottom:0 ficou um pouco baixo -> subir ligeiramente p/ centrar */
@media (min-width:992px){
  .tvfooter-product-sticky-bottom .btn-clichecart span{ bottom:4px !important; }
}
/* Durante o ADD (.er-adding): esconder TODO o rodapé do side cart — totais, botões, selo seguro, pagamentos.
   Entra tudo de uma vez (fade) só quando o artigo está carregado na íntegra (er-adding é removido no render final). */
.ttvcmscart-show-dropdown-right .er-footer{ transition:opacity .35s ease; }
/* rodape FIXO mesmo durante o ADD (2a causa do flicker eliminada): mantem-se visivel e os totais
   atualizam no lugar (animacao de preco), em vez de esconder/reaparecer ~0.5s. */

/* ===== ER8 lote 2026-06-17e (combos da fixed bar: preencher + sem corte) ===== */
@media (min-width:992px){
  .tvfooter-product-sticky-bottom #thumbs_list_frame{ display:flex !important; flex-wrap:nowrap !important; width:100% !important; align-items:center !important; gap:4px !important; }
  /* preenchem a largura azul em linha e encolhem com a contagem; cap p/ poucas combos não ficarem gigantes */
  .tvfooter-product-sticky-bottom #thumbs_list_frame li.wk-thumb{ flex:1 1 0 !important; min-width:0 !important; max-width:72px !important; width:auto !important; height:54px !important; box-shadow:none !important; }
  /* imagem 100% visível, SEM corte nem distorção (contain) */
  .tvfooter-product-sticky-bottom #thumbs_list_frame li.wk-thumb img{ width:100% !important; height:100% !important; object-fit:contain !important; border-radius:6px !important; }
}

/* ===== ER8 lote 2026-06-17g (add: fechar aba inteira + botão impressão 2 linhas) ===== */
/* Durante o ADD: a aba de baixo fica TOTALMENTE fechada (sem branco, sem ocupar espaço) e a seta de scroll some.
   A lista mostra os artigos que já lá estão; só o 1º (topo) carrega, sem nada por cima nem a cortar. */
/* (rodape mantem-se visivel durante o ADD — ver nota acima; so o cue de scroll some) */
.ttvcmscart-show-dropdown-right.er-adding .er-scrollcue,
.ttvcmscart-show-dropdown-right.er-adding .er-scrollfade{ display:none !important; opacity:0 !important; }
/* Botão "Avvia la stampa" (laranja, impressão) parte em 2 linhas e a 2ª saía do laranja.
   Juntar as linhas (line-height menor), mantendo o tamanho da letra. "Compra" (1 linha) não é afetado. */
@media (min-width:992px){
  .tvfooter-product-sticky-bottom .btn-clichecart span{ line-height:0.9 !important; }
}

/* ===== ER8 lote 2026-06-17h (combos: packed à esquerda, quadrados, sem corte; JS faz o tamanho) ===== */
@media (min-width:992px){
  .tvfooter-product-sticky-bottom #wk_plus_thumbnail,
  .tvfooter-product-sticky-bottom #views_block,
  .tvfooter-product-sticky-bottom #thums_list{ padding-left:0 !important; margin-left:0 !important; overflow:visible !important; }
  .tvfooter-product-sticky-bottom #thumbs_list_frame{ display:flex !important; flex-wrap:nowrap !important; justify-content:flex-start !important; gap:5px !important; padding-left:0 !important; margin-left:0 !important; }
  .tvfooter-product-sticky-bottom #thumbs_list_frame li.wk-thumb{ box-shadow:none !important; margin:0 !important; }
  /* quadrado + cover = imagem cheia, sem corte nem distorção (a img é quadrada) */
  .tvfooter-product-sticky-bottom #thumbs_list_frame li.wk-thumb img{ width:100% !important; height:100% !important; object-fit:cover !important; border-radius:6px !important; }
}

/* ===== ER8 lote 2026-06-17i (qty fixed bar: largura ligeiramente maior no desktop) ===== */
@media (min-width:992px){
  .tvfooter-product-sticky-bottom .input-group{ width:auto !important; }
  .tvfooter-product-sticky-bottom #numberInput2{ width:98px !important; min-width:98px !important; }
}

/* ===== ER8 lote 2026-06-17k: TABLET tratado como desktop (barra desktop aparece >739px, não a partir de 992) ===== */
@media (min-width:740px){
  /* combos: packed à esquerda, quadrados, sem corte (JS faz o tamanho/encolhe) */
  .tvfooter-product-sticky-bottom #wk_plus_thumbnail,
  .tvfooter-product-sticky-bottom #views_block,
  .tvfooter-product-sticky-bottom #thums_list{ padding-left:0 !important; margin-left:0 !important; overflow:visible !important; }
  .tvfooter-product-sticky-bottom #thumbs_list_frame{ display:flex !important; flex-wrap:nowrap !important; justify-content:flex-start !important; gap:5px !important; padding-left:0 !important; margin-left:0 !important; }
  .tvfooter-product-sticky-bottom #thumbs_list_frame li.wk-thumb{ box-shadow:none !important; margin:0 !important; }
  .tvfooter-product-sticky-bottom #thumbs_list_frame li.wk-thumb img{ width:100% !important; height:100% !important; object-fit:cover !important; border-radius:6px !important; }
  /* caixa qty alargada (não encolhe) */
  .tvfooter-product-sticky-bottom .input-group{ width:auto !important; }
  .tvfooter-product-sticky-bottom #numberInput2{ width:98px !important; min-width:98px !important; }
  /* botão Comprar centrado + line-height p/ "Avvia la stampa" (2 linhas) */
  .tvfooter-product-sticky-bottom .btn-clichecart span{ bottom:4px !important; line-height:0.9 !important; }
}

/* ===== ER8 lote 2026-06-17n (mobile qty: caixa fixa, fundo branco sempre; só o nº muda) ===== */
@media (max-width:739px){
  .tvfooter-mobile-add-to-cart #numberInput2{ background:#fff !important; }
}
/* ============================================================================
   ER8 — Side cart: envio só no checkout + densidade mobile (menos altura).
   ============================================================================ */
/* a nota de portes NÃO deve aparecer nos preços antes do checkout — só lá. */
.ttvcmscart-show-dropdown-right .er-ship,
.ttvcmscart-show-dropdown-right .er-ship-note,
.er-footer .er-ship-note{ display:none !important; }

@media (max-width:768px){
  /* linhas de produto mais compactas no side cart */
  .ttvcmscart-show-dropdown-right .ttvcart-product-wrapper{ padding-top:8px; padding-bottom:8px; }
  .ttvcmscart-show-dropdown-right .tvshoping-cart-dropdown-img-block img{ width:52px; height:52px; }
  /* rodapé mais apertado */
  .er-footer{ gap:6px; }
  .er-footer .er-pay-methods{ margin-top:2px; }
  .er-secure{ font-size:11px; }
}

/* ER8: erro de adição (stock/indisponível) — linha vermelha dentro do side cart */
.ttvcmscart-show-dropdown-right .er-add-err{display:flex;align-items:flex-start;gap:10px;margin:10px 12px;padding:11px 30px 11px 12px;border:1.5px solid #f3c2c2;background:#fdecec;border-radius:12px;border-left:4px solid #d23b3b;position:relative;animation:erSkelIn .25s ease}
.ttvcmscart-show-dropdown-right .er-add-err .er-add-err-ico{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#d23b3b;color:#fff;font-weight:800;font-size:14px;line-height:22px;text-align:center}
.ttvcmscart-show-dropdown-right .er-add-err .er-add-err-tx{flex:1;min-width:0}
.ttvcmscart-show-dropdown-right .er-add-err .er-add-err-tx b{display:block;font-size:12.5px;color:#a01b1b;font-weight:800;margin-bottom:1px}
.ttvcmscart-show-dropdown-right .er-add-err .er-add-err-tx span{display:block;font-size:11.5px;color:#7d2b2b;line-height:1.35}
.ttvcmscart-show-dropdown-right .er-add-err .er-add-err-x{position:absolute;top:5px;right:7px;border:0;background:transparent;color:#c08;opacity:.6;font-size:19px;line-height:1;cursor:pointer;padding:2px 5px}
.ttvcmscart-show-dropdown-right .er-add-err .er-add-err-x:hover{opacity:1;color:#a01b1b}

/* ER8: checkout/cart — o cross-sell aqui usa cards .product-miniature SIMPLES (NÃO .tvcross-selling-
   product-wrapper, ao contrário da página de produto). Por isso scopamos por .product-miniature dentro
   de html.er-hide-xsell-clones (só presente em checkout/cart/order) E por body#checkout (à prova de
   falha do JS). Aqui os ÚNICOS .product-miniature são o cross-sell, por isso é seguro. Escondemos:
   clones do owl, o botão "Compra"/carrinho (não se adiciona daqui no checkout) e medidas. */
html.er-hide-xsell-clones .product-miniature .owl-item.cloned,
html.er-hide-xsell-clones .product-miniature [data-button-action="add-to-cart"],
html.er-hide-xsell-clones .product-miniature .tvproduct-add-to-cart,
html.er-hide-xsell-clones .product-miniature .add-to-cart,
html.er-hide-xsell-clones .product-miniature .tvproduct-cart-btn,
html.er-hide-xsell-clones .product-miniature .tvproduct-buttons,
html.er-hide-xsell-clones .product-miniature [class*="add-to-cart"],
html.er-hide-xsell-clones .product-miniature [class*="cart-btn"],
html.er-hide-xsell-clones .product-miniature form,
html.er-hide-xsell-clones .product-miniature .er-add-btn,
html.er-hide-xsell-clones .product-miniature .er-sizebar,
body#checkout .product-miniature [data-button-action="add-to-cart"],
body#checkout .product-miniature .tvproduct-add-to-cart,
body#checkout .product-miniature .add-to-cart,
body#checkout .product-miniature .tvproduct-cart-btn,
body#checkout .product-miniature form,
body#checkout .product-miniature .er-add-btn{display:none !important}
