/* Scoped image hosts: never change unrelated theme wrappers globally. */
.divayra-premium-product .product-element-top,
.divayra-premium-product .wd-product-image,
.divayra-premium-product .wd-product-thumb,
.divayra-premium-product .product-image-wrapper,
.divayra-premium-product .product-image-link,
.divayra-premium-product .woocommerce-LoopProduct-link,
.divayra-premium-product .woocommerce-loop-product__link,
.divayra-premium-product .wc-block-grid__product-image,
.divayra-premium-product .wc-block-components-product-image,
.divayra-premium-product .product-image,
.divayra-premium-product .product-thumbnail,
.divayra-premium-product .thumbnail-wrap,
.divayra-premium-single-product .woocommerce-product-gallery,
.divayra-premium-single-product .product-images,
.divayra-premium-single-product .product-image-summary .product-images {
    position: relative;
}

.divayra-premium-badge {
    position: absolute !important;
    z-index: var(--dvpb-priority, 50) !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: var(--dvpb-gap, 5px);
    max-width: calc(100% - 16px);
    min-width: min(var(--dvpb-min-width, 0px), calc(100% - 16px));
    padding: var(--dvpb-py, 7px) var(--dvpb-px, 12px);
    overflow: hidden;
    border: var(--dvpb-border, 1px) var(--dvpb-border-style, solid) var(--dvpb-border-color, #6e4812);
    border-radius: var(--dvpb-radius, 7px);
    background: var(--dvpb-bg, linear-gradient(135deg, var(--dvpb-start, #6f4512), var(--dvpb-mid, #f7df91) 47%, var(--dvpb-end, #7a4c12)));
    background-clip: padding-box;
    box-shadow: 0 var(--dvpb-shadow-y, 5px) var(--dvpb-shadow-blur, 14px) var(--dvpb-shadow-spread, 0) rgba(83, 51, 9, var(--dvpb-shadow-alpha, .24));
    color: var(--dvpb-text, #fff8d6) !important;
    font-family: var(--dvpb-font-family, inherit);
    font-style: var(--dvpb-font-style, normal);
    font-size: var(--dvpb-font, 10px);
    font-weight: var(--dvpb-weight, 800);
    line-height: 1;
    letter-spacing: var(--dvpb-track, .12em);
    text-decoration: none !important;
    text-shadow: 0 1px 1px rgba(30, 20, 4, .45);
    text-transform: var(--dvpb-transform-text, uppercase);
    opacity: var(--dvpb-opacity, 1);
    transform: rotate(var(--dvpb-rotate, 0deg)) translateZ(0);
    white-space: nowrap;
    isolation: isolate;
    -webkit-font-smoothing: antialiased;
    transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
    box-sizing: border-box;
}

.divayra-premium-badge:not([role="link"]) { pointer-events: none; }
.divayra-premium-badge[role="link"] { pointer-events: auto; cursor: pointer; }
.divayra-premium-badge[role="link"]:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.dvpb-badge__icon { flex: 0 0 auto; font-size: var(--dvpb-icon-size, 1.05em); line-height: 1; }
.dvpb-icon-right .dvpb-badge__icon { order: 2; }
.dvpb-icon-right .dvpb-badge__text { order: 1; }
.dvpb-badge__text { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

.dvpb-pos-top-left { top: calc(var(--dvpb-v, 10px) + var(--dvpb-shift, 0px)) !important; left: var(--dvpb-side, 10px) !important; right: auto !important; bottom: auto !important; }
.dvpb-pos-top-right { top: calc(var(--dvpb-v, 10px) + var(--dvpb-shift, 0px)) !important; right: var(--dvpb-side, 10px) !important; left: auto !important; bottom: auto !important; }
.dvpb-pos-bottom-left { bottom: calc(var(--dvpb-v, 10px) + var(--dvpb-shift, 0px)) !important; left: var(--dvpb-side, 10px) !important; right: auto !important; top: auto !important; }
.dvpb-pos-bottom-right { bottom: calc(var(--dvpb-v, 10px) + var(--dvpb-shift, 0px)) !important; right: var(--dvpb-side, 10px) !important; left: auto !important; top: auto !important; }

/* Radius remains functional for every non-pill shape. */
.dvpb-shape-rectangle { border-radius: var(--dvpb-radius, 0); }
.dvpb-shape-rounded { border-radius: var(--dvpb-radius, 7px); }
.dvpb-shape-pill { border-radius: 999px; }
.dvpb-shape-ribbon { border-radius: var(--dvpb-radius, 7px) calc(var(--dvpb-radius, 7px) * 1.8) var(--dvpb-radius, 7px) calc(var(--dvpb-radius, 7px) * 1.8); }
.dvpb-shape-shield { clip-path: polygon(8% 0, 92% 0, 100% 72%, 50% 100%, 0 72%); padding-bottom: calc(var(--dvpb-py, 7px) + 4px); }
.dvpb-shape-corner { border-radius: var(--dvpb-radius, 7px) var(--dvpb-radius, 7px) var(--dvpb-radius, 7px) calc(var(--dvpb-radius, 7px) * 2); }

.dvpb-anim-shine::after,
.dvpb-anim-metallic::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: -90%;
    left: -70%;
    width: 34%;
    height: 280%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.9), transparent);
    transform: rotate(20deg);
    animation: dvpb-shine var(--dvpb-duration, 3.6s) cubic-bezier(.3,.7,.25,1) infinite;
}
.dvpb-anim-metallic::after { width: 55%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), rgba(255,255,255,.95), rgba(255,255,255,.2), transparent); }
.dvpb-anim-glow { animation: dvpb-glow var(--dvpb-duration, 3.6s) ease-in-out infinite; }
.dvpb-anim-pulse { animation: dvpb-pulse var(--dvpb-duration, 3.6s) ease-in-out infinite; }
.dvpb-anim-float { animation: dvpb-float var(--dvpb-duration, 3.6s) ease-in-out infinite; }
.dvpb-anim-sparkle::before { content: "✦"; position: absolute; right: 7%; top: 7%; font-size: .75em; animation: dvpb-sparkle var(--dvpb-duration, 3.6s) linear infinite; }

@keyframes dvpb-shine { 0%,18% { left:-70%;opacity:0 } 25% { opacity:1 } 47% { left:140%;opacity:.7 } 55%,100% { left:140%;opacity:0 } }
@keyframes dvpb-glow { 50% { filter:brightness(1.18);box-shadow:0 5px 20px rgba(212,165,50,.52) } }
@keyframes dvpb-pulse { 50% { transform:rotate(var(--dvpb-rotate,0deg)) scale(1.05) } }
@keyframes dvpb-float { 50% { transform:rotate(var(--dvpb-rotate,0deg)) translateY(-3px) } }
@keyframes dvpb-sparkle { 0%,100% { opacity:0;transform:scale(.3) rotate(0) } 50% { opacity:1;transform:scale(1.2) rotate(180deg) } }

.dvpb-hover-lift:hover { transform: rotate(var(--dvpb-rotate,0deg)) translateY(-2px); }
.dvpb-hover-scale:hover { transform: rotate(var(--dvpb-rotate,0deg)) scale(1.05); }
.dvpb-hover-glow:hover { filter: brightness(1.16); box-shadow: 0 7px 22px rgba(212,165,50,.5); }
.dvpb-single-fallback[hidden] { display: none !important; }

@media (max-width:1024px) {
    .divayra-premium-badge { font-size:var(--dvpb-t-font,9px);padding:var(--dvpb-t-py,6px) var(--dvpb-t-px,10px); }
    .dvpb-pos-top-left,.dvpb-pos-top-right { top:calc(var(--dvpb-t-v,8px) + var(--dvpb-shift,0px)) !important; }
    .dvpb-pos-bottom-left,.dvpb-pos-bottom-right { bottom:calc(var(--dvpb-t-v,8px) + var(--dvpb-shift,0px)) !important; }
    .dvpb-pos-top-right,.dvpb-pos-bottom-right { right:var(--dvpb-t-side,8px) !important; }
    .dvpb-pos-top-left,.dvpb-pos-bottom-left { left:var(--dvpb-t-side,8px) !important; }
}

@media (max-width:767px) {
    .divayra-premium-badge { max-width:calc(100% - 10px);font-size:var(--dvpb-m-font,8px);padding:var(--dvpb-m-py,5px) var(--dvpb-m-px,8px); }
    .dvpb-pos-top-left,.dvpb-pos-top-right { top:calc(var(--dvpb-m-v,6px) + var(--dvpb-shift,0px)) !important; }
    .dvpb-pos-bottom-left,.dvpb-pos-bottom-right { bottom:calc(var(--dvpb-m-v,6px) + var(--dvpb-shift,0px)) !important; }
    .dvpb-pos-top-right,.dvpb-pos-bottom-right { right:var(--dvpb-m-side,6px) !important; }
    .dvpb-pos-top-left,.dvpb-pos-bottom-left { left:var(--dvpb-m-side,6px) !important; }
}


/* Device-specific visibility and corner overrides. */
@media (min-width:1025px) {
    .divayra-premium-badge.dvpb-hide-desktop { display:none !important; }
}

@media (min-width:768px) and (max-width:1024px) {
    .divayra-premium-badge.dvpb-hide-tablet { display:none !important; }
    .dvpb-tpos-top-left { top:calc(var(--dvpb-t-v,8px) + var(--dvpb-shift,0px)) !important;left:var(--dvpb-t-side,8px) !important;right:auto !important;bottom:auto !important; }
    .dvpb-tpos-top-right { top:calc(var(--dvpb-t-v,8px) + var(--dvpb-shift,0px)) !important;right:var(--dvpb-t-side,8px) !important;left:auto !important;bottom:auto !important; }
    .dvpb-tpos-bottom-left { bottom:calc(var(--dvpb-t-v,8px) + var(--dvpb-shift,0px)) !important;left:var(--dvpb-t-side,8px) !important;right:auto !important;top:auto !important; }
    .dvpb-tpos-bottom-right { bottom:calc(var(--dvpb-t-v,8px) + var(--dvpb-shift,0px)) !important;right:var(--dvpb-t-side,8px) !important;left:auto !important;top:auto !important; }
}

@media (max-width:767px) {
    .divayra-premium-badge.dvpb-hide-mobile { display:none !important; }
    .dvpb-mpos-top-left { top:calc(var(--dvpb-m-v,6px) + var(--dvpb-shift,0px)) !important;left:var(--dvpb-m-side,6px) !important;right:auto !important;bottom:auto !important; }
    .dvpb-mpos-top-right { top:calc(var(--dvpb-m-v,6px) + var(--dvpb-shift,0px)) !important;right:var(--dvpb-m-side,6px) !important;left:auto !important;bottom:auto !important; }
    .dvpb-mpos-bottom-left { bottom:calc(var(--dvpb-m-v,6px) + var(--dvpb-shift,0px)) !important;left:var(--dvpb-m-side,6px) !important;right:auto !important;top:auto !important; }
    .dvpb-mpos-bottom-right { bottom:calc(var(--dvpb-m-v,6px) + var(--dvpb-shift,0px)) !important;right:var(--dvpb-m-side,6px) !important;left:auto !important;top:auto !important; }
}

@media (prefers-reduced-motion:reduce) {
    .divayra-premium-badge,.divayra-premium-badge::before,.divayra-premium-badge::after { animation:none!important;transition:none!important; }
}

/* Single-product stability: keep the badge invisible only while the gallery finishes
   its first layout calculation, then reveal it at the final locked position. */
.dvpb-single-badge-host {
    position: relative;
}
.dvpb-context-single.dvpb-position-pending {
    opacity: 0 !important;
    pointer-events: none !important;
    transition: none !important;
}
.dvpb-context-single[data-dvpb-position-ready="1"] {
    will-change: auto;
}
