/* Sidebar coupon, styled before JavaScript adds the copy interaction. */
.single-listing .coupon-widget { border-radius:8px; background-color:#111; color:#fff; }
.single-listing .coupon-widget:hover { transform:none; }
.single-listing .coupon-widget::before { display:none; }
.single-listing .coupon-widget a.coupon-top { padding:22px 22px 20px; border-radius:8px 8px 0 0; text-align:start; background:linear-gradient(180deg,rgba(17,17,17,.55),rgba(17,17,17,.9)); }
.single-listing .coupon-widget.has-local-background { background-color:transparent; }
.single-listing .coupon-widget.has-local-background a.coupon-top { background:linear-gradient(180deg,rgba(17,17,17,.55),rgba(17,17,17,.9)),var(--listeo-coupon-image) center/cover #111; }
.single-listing .coupon-widget.has-no-image a.coupon-top,
.single-listing .coupon-widget:not([style*="background-image"]):not(.has-local-background) a.coupon-top { background:linear-gradient(125deg,#111 10%,color-mix(in srgb,var(--listeo-primary-color,#f91942) 38%,#111) 100%); }
.single-listing .coupon-widget a.coupon-top h3 { padding:0; font-size:22px; font-weight:500; line-height:1.2; letter-spacing:-.025em; text-align:start; }
.single-listing .coupon-widget .coupon-how-to-use { padding:0; margin:6px 0 0; font-size:14px; line-height:1.45; color:#bdbdbd; }
.single-listing .coupon-widget .coupon-how-to-use p { margin:0; color:inherit; font-size:inherit; line-height:inherit; }
.single-listing .coupon-widget .coupon-valid-untill { margin-top:10px; padding:3px 8px; font-size:12px; font-weight:500; border-radius:4px; }
.single-listing .coupon-widget .coupon-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 16px 18px 22px; border:0; border-radius:0 0 8px 8px; background:#111; text-align:start; transform-origin:100% 0; transition:transform .6s cubic-bezier(.34,1.56,.64,1); }
.single-listing .coupon-widget .coupon-code { min-width:0; padding:0; border:0; background:none; border-radius:0; font-family:inherit; font-size:20px; font-weight:500; line-height:1.5; letter-spacing:.18em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.single-listing .coupon-widget .coupon-bottom::before,
.single-listing .coupon-widget .coupon-bottom::after { top:-8px; width:16px; height:16px; transform:none; }
.single-listing .coupon-widget .coupon-bottom::before { left:-8px; }
.single-listing .coupon-widget .coupon-bottom::after { right:-8px; }
.single-listing .coupon-widget .coupon-scissors-icon { left:16px; top:0; width:22px; height:22px; margin-top:-11px; color:#7a7a7a; font-size:18px; line-height:22px; transition:color .3s; }
.single-listing .coupon-widget .coupon-scissors-icon:has(svg)::after { display:none; }
.listeo-coupon-cut-line { position:absolute; left:14px; right:14px; top:-.75px; border-top:1.5px dashed #3a3a3a; }
.single-listing .listeo-coupon-copy { flex:none; display:inline-flex; align-items:center; justify-content:center; gap:6px; width:auto; height:38px; margin:0; padding:0 15px 0 12px; border:0; border-radius:999px; background:#fff; color:#111; font-family:inherit; font-size:13.5px; font-weight:500; line-height:1; cursor:pointer; transition:background-color .25s,color .25s,box-shadow .25s,transform .3s cubic-bezier(.34,1.56,.64,1); }
.listeo-coupon-copy svg { width:15px; height:15px; flex:none; }
.single-listing .listeo-coupon-copy:hover { background:#ececec; color:#111; }
.single-listing .listeo-coupon-copy:active { transform:scale(.95); }
.listeo-coupon-copy:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.single-listing .listeo-coupon-copy.is-copied { background:color-mix(in srgb,var(--listeo-primary-color,#f91942) 15%,#111); color:color-mix(in srgb,var(--listeo-primary-color,#f91942) 45%,#fff); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--listeo-primary-color,#f91942) 30%,transparent); }
.listeo-coupon-scissors { display:block; width:100%; height:100%; overflow:visible; }
.listeo-coupon-scissors g { transform-box:view-box; transform-origin:13.8px 12px; }
.single-listing .coupon-widget.is-cut .coupon-bottom { transform:translateY(7px) rotate(1.4deg); }
.single-listing .coupon-widget.is-cutting .coupon-scissors-icon { color:#fff; animation:listeoCouponTravel 1.1s cubic-bezier(.45,0,.55,1) forwards; }
.is-cutting .listeo-coupon-scissors g:first-child { animation:listeoCouponSnipA .17s ease-in-out infinite alternate; }
.is-cutting .listeo-coupon-scissors g:last-child { animation:listeoCouponSnipB .17s ease-in-out infinite alternate; }
.is-cutting .listeo-coupon-cut-line { animation:listeoCouponLine 1.1s cubic-bezier(.45,0,.55,1) forwards; }
.is-returning .coupon-scissors-icon,.is-returning .listeo-coupon-cut-line { animation:listeoCouponBack .5s ease both; }
@keyframes listeoCouponTravel { 0% { left:16px; } 86% { opacity:1; } 100% { left:calc(100% - 32px); opacity:0; } }
@keyframes listeoCouponSnipA { from { transform:rotate(3deg); } to { transform:rotate(-26deg); } }
@keyframes listeoCouponSnipB { from { transform:rotate(-3deg); } to { transform:rotate(26deg); } }
@keyframes listeoCouponLine { from { clip-path:inset(0 0 0 0); } to { clip-path:inset(0 0 0 100%); } }
@keyframes listeoCouponBack { from { opacity:0; } }
@media (prefers-reduced-motion:reduce) {
  .single-listing .coupon-widget .coupon-bottom,.single-listing .listeo-coupon-copy { transition:none; }
  .single-listing .coupon-widget.is-cut .coupon-bottom { transform:none; }
  .single-listing .coupon-widget .coupon-scissors-icon,.listeo-coupon-scissors g,.listeo-coupon-cut-line { animation:none !important; }
}
