.product-thumb .image, .main_image_carousel, .product__main_images { position:relative; }
.uv-gift-badge { position:absolute; right:10px; bottom:10px; z-index:5; display:inline-flex; align-items:center; max-width:calc(100% - 20px); color:#fff; background:linear-gradient(135deg,#ff6a00 0%,#e94b00 100%); border:1px solid rgba(255,255,255,.9); box-shadow:0 7px 18px rgba(239,75,0,.24),0 2px 5px rgba(0,0,0,.12); line-height:1; cursor:help; outline:none; }
.uv-gift-badge::after { position:absolute; top:-80%; left:-30%; width:35%; height:260%; background:rgba(255,255,255,.16); content:""; transform:rotate(24deg); pointer-events:none; }
.uv-gift-badge__icon, .uv-gift-badge__copy { position:relative; z-index:1; }
.uv-gift-badge__icon { display:flex; flex:0 0 auto; align-items:center; justify-content:center; color:#ef4b00; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.12); }
.uv-gift-badge__icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.uv-gift-badge__copy { display:flex; min-width:0; flex-direction:column; text-align:left; }
.uv-gift-badge__eyebrow, .uv-gift-badge__price { white-space:nowrap; }
.uv-gift-badge__eyebrow { overflow:hidden; font-weight:600; letter-spacing:.02em; text-overflow:ellipsis; }
.uv-gift-badge__price { font-weight:800; }
.uv-gift-badge--card { min-height:30px; gap:5px; padding:4px 8px 4px 4px; border-radius:8px; background:linear-gradient(135deg,rgba(255,106,0,.68) 0%,rgba(233,75,0,.68) 100%); }
.uv-gift-badge--card .uv-gift-badge__icon { width:22px; height:22px; padding:4px; border-radius:6px; }
.uv-gift-badge--card .uv-gift-badge__copy { flex-direction:row; gap:3px; align-items:baseline; }
.uv-gift-badge--card .uv-gift-badge__eyebrow, .uv-gift-badge--card .uv-gift-badge__price { font-size:10px; line-height:1.1; }
.uv-gift-badge--product { right:16px; bottom:16px; min-height:50px; gap:8px; padding:6px 13px 6px 6px; border-radius:14px; }
.product__main_images > .uv-gift-badge--product { top:16px; right:16px; bottom:auto; }
.uv-gift-badge--product .uv-gift-badge__icon { width:38px; height:38px; padding:8px; border-radius:11px; }
.uv-gift-badge--product .uv-gift-badge__copy { gap:3px; }
.uv-gift-badge--product .uv-gift-badge__eyebrow { font-size:11px; line-height:1; text-transform:uppercase; }
.uv-gift-badge--product .uv-gift-badge__price { font-size:16px; line-height:1; }
.uv-gift-badge__popover { position:absolute; right:0; bottom:calc(100% + 9px); z-index:12; display:block; width:220px; padding:10px 12px; visibility:hidden; color:#333; background:#fff; border:1px solid rgba(0,0,0,.1); border-radius:9px; box-shadow:0 10px 28px rgba(0,0,0,.16); font-size:11px; font-weight:400; line-height:1.4; text-align:left; opacity:0; transform:translateY(4px); transition:opacity .15s ease,transform .15s ease,visibility .15s ease; pointer-events:none; }
.uv-gift-badge__popover::after { position:absolute; right:18px; bottom:-5px; width:10px; height:10px; background:#fff; border-right:1px solid rgba(0,0,0,.1); border-bottom:1px solid rgba(0,0,0,.1); content:""; transform:rotate(45deg); }
.uv-gift-badge__popover strong, .uv-gift-badge__popover span { display:block; }
.uv-gift-badge__popover strong { margin-bottom:3px; color:#111; font-size:12px; }
.uv-gift-badge:hover .uv-gift-badge__popover, .uv-gift-badge:focus .uv-gift-badge__popover { visibility:visible; opacity:1; transform:translateY(0); }
.uv-gift-campaign-panel, .uv-gift-campaign-panel * { box-sizing:border-box; }
.uv-gift-campaign-panel { width:100%; max-width:100%; min-width:0; margin:18px 0; white-space:normal; }
.uv-gift-offer { width:100%; max-width:100%; min-width:0; border:1px solid #ef4b00; border-radius:12px; padding:15px; margin-bottom:14px; background:#fffaf7; }
.uv-gift-offer-heading { display:flex; min-width:0; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:8px 15px; margin-bottom:12px; white-space:normal; }
.uv-gift-offer-heading strong { flex:0 0 auto; }
.uv-gift-offer-heading span { min-width:0; flex:1 1 180px; overflow-wrap:anywhere; word-break:break-word; white-space:normal; }
.uv-gift-candidates { display:grid; width:100%; min-width:0; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; }
.uv-gift-candidate { position:relative; display:flex; width:100%; max-width:100%; min-width:0; flex-direction:column; gap:10px; padding:12px; white-space:normal; background:#fff; border:1px solid #eee; border-radius:8px; }
.uv-gift-candidate-count { align-self:flex-start; padding:4px 8px; color:#ef4b00; background:#fff2e9; border-radius:12px; font-size:11px; font-weight:700; line-height:1.2; }
.uv-gift-candidate-items { display:flex; width:100%; min-width:0; align-items:center; gap:8px; }
.uv-gift-candidate-item { display:flex; min-width:0; flex:1 1 0; align-items:center; gap:8px; }
.uv-gift-candidate-item img { width:64px; max-width:64px; height:64px; flex:0 0 64px; object-fit:contain; }
.uv-gift-candidate-plus { flex:0 0 auto; color:#ef4b00; font-size:22px; font-weight:800; line-height:1; }
.uv-gift-candidate-body { width:100%; max-width:100%; min-width:0; flex:1 1 auto; }
.uv-gift-candidate-name { max-width:100%; overflow-wrap:anywhere; word-break:break-word; white-space:normal; font-weight:600; }
.uv-gift-candidate-price { color:#ef4b00; font-weight:700; margin:4px 0 8px; }
.uv-gift-candidate .form-group { margin:7px 0; }
.uv-gift-candidate .form-control, .uv-gift-candidate .btn { max-width:100%; }
.uv-gift-campaign-panel .uv-gift-candidate .btn-primary { color:#ef4b00; background:#fff; border:1px solid #ef4b00; box-shadow:none; }
.uv-gift-campaign-panel .uv-gift-candidate .btn-primary:hover, .uv-gift-campaign-panel .uv-gift-candidate .btn-primary:focus { color:#fff; background:#ef4b00; }
.uv-gift-candidate--selected { background:#f6fff7; border-color:#329342; box-shadow:0 0 0 1px rgba(50,147,66,.12); }
.uv-gift-candidate--selected .uv-gift-candidate-count { color:#287a36; background:#e9f7eb; }
.uv-gift-candidate--selected .uv-gift-candidate-price { color:#287a36; }
.uv-gift-candidate--selected .uv-gift-selected-indicator { display:inline-flex; align-items:center; justify-content:center; gap:6px; color:#fff; background:#329342; border:1px solid #329342; box-shadow:none; cursor:default; pointer-events:none; }
.uv-gift-status-selected:not(.uv-gift-offer--choosing) .uv-gift-candidates { grid-template-columns:minmax(0,520px); }
.uv-gift-status-selected:not(.uv-gift-offer--choosing) .uv-gift-candidate:not(.uv-gift-candidate--selected), .uv-gift-status-selected:not(.uv-gift-offer--choosing) > .uv-gift-action[data-action="decline"] { display:none; }
.uv-gift-show-choices { margin-top:10px; color:#ef4b00; background:#fff; border:1px solid #ef4b00; box-shadow:none; }
.uv-gift-show-choices:hover, .uv-gift-show-choices:focus { color:#fff; background:#ef4b00; }
.uv-gift-offer--choosing .uv-gift-show-choices { display:none; }
.header-cart #shopping-cart, .header-cart #shopping-cart > ul, .header-cart #shopping-cart .cart-load { max-width:100%; overflow-x:hidden!important; }
.header-cart #shopping-cart .shipping-progress-wrapper { margin-bottom:18px; }
.header-cart #shopping-cart .btn-remove { right:0!important; }
.header-cart #shopping-cart .uv-gift-campaign-panel { margin:12px 0 0; padding:0 4px; overflow:hidden; }
.header-cart .uv-gift-candidates { grid-template-columns:minmax(0,1fr); }
#addModal .uv-gift-campaign-panel { margin:16px 0 0; }
#addModal .uv-gift-offer:last-child, .header-cart .uv-gift-offer:last-child { margin-bottom:0; }
.uv-gift-state-success { color:#329342; }
.uv-gift-line-label { display:block; margin-top:4px; color:#ef4b00; font-size:12px; font-weight:600; }
@media (max-width:767px) { .uv-gift-badge--card { right:6px; bottom:6px; padding-right:6px; } .uv-gift-badge--card .uv-gift-badge__eyebrow { display:none; } .uv-gift-badge--product { right:10px; bottom:10px; } .uv-gift-badge__popover { width:190px; } .uv-gift-offer { padding:12px; } .uv-gift-offer-heading { flex-direction:column; gap:4px; } .uv-gift-offer-heading strong, .uv-gift-offer-heading span { width:100%; flex:none; } .uv-gift-candidates { grid-template-columns:minmax(0,1fr); } .uv-gift-candidate { gap:10px; padding:8px; } .uv-gift-candidate-items { align-items:flex-start; gap:5px; } .uv-gift-candidate-item { flex-direction:column; text-align:center; } .uv-gift-candidate-item img { width:56px; max-width:56px; height:56px; flex-basis:56px; } .uv-gift-candidate-plus { padding-top:20px; } .uv-gift-candidate .btn { white-space:normal; } .header-cart #shopping-cart .uv-gift-campaign-panel { padding:0 4px; } }
@media (max-width:767px) {
  #addModal { padding:0!important; overflow:hidden!important; }
  #addModal .modal-dialog { width:auto; height:calc(100% - 16px); margin:8px; }
  #addModal .modal-content { display:flex; height:100%; max-height:100%; flex-direction:column; overflow:hidden; }
  #addModal .modal-header { flex:0 0 auto; }
  #addModal .modal-body { flex:1 1 auto; min-height:0; overflow-x:hidden; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; touch-action:pan-y; padding-bottom:max(20px,env(safe-area-inset-bottom)); }
  .uv-gift-campaign-panel { margin:10px 0; }
  .uv-gift-offer { padding:10px; margin-bottom:10px; border-radius:10px; }
  .uv-gift-offer-heading { gap:2px; margin-bottom:8px; line-height:1.35; }
  .uv-gift-offer-heading strong { font-size:14px; }
  .uv-gift-offer-heading span { font-size:13px; }
  .uv-gift-candidates { gap:8px; }
  .uv-gift-candidate { gap:7px; padding:9px; }
  .uv-gift-candidate-count { padding:3px 7px; font-size:10px; }
  .uv-gift-candidate-items { flex-direction:column; align-items:stretch; gap:6px; }
  .uv-gift-candidate-item { flex-direction:row; align-items:center; gap:8px; text-align:left; }
  .uv-gift-candidate-item img { width:48px; max-width:48px; height:48px; flex-basis:48px; }
  .uv-gift-candidate-plus { align-self:center; padding:0; font-size:18px; }
  .uv-gift-candidate-name { font-size:13px; line-height:1.3; }
  .uv-gift-candidate-body { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
  .uv-gift-candidate-price { margin:0; font-size:13px; }
  .uv-gift-candidate-body .form-group { width:100%; flex:1 0 100%; margin:0; }
  .uv-gift-candidate-body .btn { width:auto; padding:9px 12px; font-size:14px; line-height:1.2; }
}
