/* FOUC guard: hide the ENTIRE finder until JS finishes building (body.artf-ready).
   display:none reserves no layout, so nothing flashes/overlaps on load. */
#artf-selfbar,#artf-dd,#artf-mobar,#artf-overlay,#artf-sheet{display:none !important;}
body.artf-ready #artf-selfbar{display:flex !important;}
body.artf-ready #artf-dd{display:block !important;}
body.artf-ready #artf-overlay.artf-open{display:flex !important;}
body.artf-ready #artf-sheet.artf-sheet-open{display:block !important;}
@media(max-width:768px){
  body.artf-ready #artf-selfbar{display:none !important;}
  body.artf-ready #artf-dd{display:none !important;}
  body.artf-ready #artf-mobar{display:flex !important;}
}

#artf-fab{position:fixed;bottom:18px;z-index:9998;background:#1a1a1a;color:#fff;border:none;border-radius:50px;padding:13px 20px;font-size:15px;font-weight:500;cursor:pointer;box-shadow:0 6px 22px rgba(0,0,0,.22);display:flex;align-items:center;gap:8px;font-family:inherit;}
#artf-fab svg{width:18px;height:18px;stroke:#fff;flex:none;}
#artf-fab .artf-badge{background:#fff;color:#1a1a1a;border-radius:20px;font-size:12px;font-weight:600;padding:1px 7px;display:none;}
#artf-overlay{position:fixed;inset:0;z-index:9999;display:none;font-family:inherit;}
#artf-overlay.artf-open{display:flex;}
#artf-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #ececec;flex:none;}
#artf-head h2{font-family:Georgia,'Times New Roman',serif;font-size:23px;margin:0;font-weight:400;color:#1a1a1a;}
#artf-close{background:none;border:none;font-size:30px;line-height:1;cursor:pointer;color:#333;padding:0 4px;}
#artf-body{flex:1;overflow-y:auto;padding:22px 20px 10px;-webkit-overflow-scrolling:touch;}
.artf-group{margin-bottom:28px;}
.artf-group h3{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#a3a3a3;margin:0 0 14px;font-weight:600;}
.artf-dots{display:flex;flex-wrap:wrap;gap:14px 16px;margin-bottom:16px;}
.artf-dot{width:36px;height:36px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-sizing:border-box;position:relative;transition:transform .1s;}
.artf-dot:hover{transform:scale(1.1);}
.artf-dot.artf-on{border-color:#1a1a1a;}
.artf-dot.artf-on:after{content:"";position:absolute;inset:2px;border:2px solid #fff;border-radius:50%;}
.artf-dot em{position:absolute;bottom:-17px;left:50%;transform:translateX(-50%);font-size:10px;color:#777;white-space:nowrap;font-style:normal;}
.artf-chips{display:flex;flex-wrap:wrap;gap:8px;}
.artf-chip{font-size:14px;padding:9px 15px;border-radius:24px;border:1px solid #dcdcdc;background:#fff;cursor:pointer;color:#444;transition:all .12s;line-height:1;display:inline-flex;align-items:center;}
.artf-chip:hover{border-color:#1a1a1a;color:#1a1a1a;}
.artf-chip.artf-on{background:#1a1a1a;color:#fff;border-color:#1a1a1a;}
.artf-shape{display:inline-block;border:1.5px solid currentColor;margin-right:7px;vertical-align:middle;}
#artf-foot{padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #ececec;display:flex;gap:14px;align-items:center;flex:none;}
#artf-clear{background:none;border:none;color:#777;font-size:14px;cursor:pointer;text-decoration:underline;white-space:nowrap;font-family:inherit;}
#artf-apply{flex:1;background:#1a1a1a;color:#fff;border:none;border-radius:8px;padding:15px;font-size:16px;font-weight:500;cursor:pointer;font-family:inherit;}
#artf-panel{box-shadow:-8px 0 40px rgba(0,0,0,.18);}
.artf-sort{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:18px;border-bottom:0.5px solid #eee;}
.artf-sortlbl{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#a3a3a3;font-weight:600;margin-right:2px;}
.artf-sortbtn{font-size:13px;padding:7px 13px;border-radius:20px;border:1px solid #dcdcdc;color:#555;cursor:pointer;line-height:1;transition:all .12s;}
.artf-sortbtn:hover{border-color:#1a1a1a;color:#1a1a1a;}
.artf-sortbtn.artf-on{background:#1a1a1a;color:#fff;border-color:#1a1a1a;}
.artf-rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;}
.artf-room{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border:1px solid #e2e2e2;border-radius:10px;cursor:pointer;color:#555;transition:all .12s;}
.artf-room:hover{border-color:#1a1a1a;color:#1a1a1a;}
.artf-room.artf-on{background:#1a1a1a;color:#fff;border-color:#1a1a1a;}
.artf-room svg{width:24px;height:24px;}
.artf-room span{font-size:12px;text-align:center;line-height:1.15;}

/* ---- Mode B: self-contained finder ---- */
#artf-selfbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px;flex-wrap:wrap;}
#artf-openbtn{background:#1a1a1a;color:#fff;border:none;border-radius:50px;padding:12px 20px;font-size:15px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;font-family:inherit;}
#artf-openbtn svg{width:17px;height:17px;stroke:#fff;}
#artf-openbtn .artf-badge{background:#fff;color:#1a1a1a;border-radius:20px;font-size:12px;font-weight:600;padding:1px 7px;display:none;}
#artf-selfcount{font-size:14px;color:#777;}
#artf-results{display:grid;grid-template-columns:repeat(var(--artf-cols,4),1fr);gap:18px;}
@media(max-width:900px){#artf-results{grid-template-columns:repeat(3,1fr);}}
@media(max-width:600px){#artf-results{grid-template-columns:repeat(2,1fr);gap:12px;}}
.artf-pcard{display:block;text-decoration:none;color:inherit;}
.artf-pc-img{position:relative;aspect-ratio:3/4;overflow:hidden;background:#f4f2ee;border-radius:4px;}
.artf-pc-img img{width:100%;height:100%;object-fit:cover;display:block;}
.artf-pc-badge{position:absolute;top:9px;left:9px;background:#b89150;color:#fff;font-size:11px;padding:2px 8px;letter-spacing:.5px;z-index:2;}
.artf-pc-meta{padding:10px 4px 0;text-align:center;}
.artf-pc-title{font-size:14px;color:#222;line-height:1.35;margin-bottom:4px;}
.artf-pc-price{font-size:14px;color:#888;}
.artf-pc-price del{color:#bbb;margin-right:4px;}
.artf-pc-price ins{text-decoration:none;color:#c0392b;font-weight:500;}
#artf-loadmore-wrap{text-align:center;margin:28px 0;}
#artf-loadmore{background:none;border:1px solid #1a1a1a;color:#1a1a1a;border-radius:50px;padding:12px 32px;font-size:15px;cursor:pointer;font-family:inherit;}
#artf-loadmore:hover{background:#1a1a1a;color:#fff;}

/* ---- v2.1: backdrop + panel (click-outside) ---- */
#artf-overlay{background:rgba(20,20,20,.42);}
#artf-overlay.artf-open{display:flex;justify-content:flex-end;}
#artf-panel{background:#fff;width:100%;max-width:440px;height:100%;display:flex;flex-direction:column;margin-left:auto;}
@media(max-width:600px){#artf-panel{max-width:100%;}}

/* ---- v2.2: option counts + zero-result dimming ---- */
.artf-cnt{margin-left:6px;font-size:11px;color:#aaa;font-weight:400;}
.artf-chip.artf-on .artf-cnt,.artf-room.artf-on .artf-cnt{color:rgba(255,255,255,.65);}
.artf-room .artf-cnt{margin-left:0;margin-top:2px;}
.artf-zero{opacity:.32;pointer-events:none;cursor:default;}
.artf-zero.artf-dot{opacity:.22;}

/* ---- v2.3: quick-filter bar + dropdowns ---- */
#artf-selfbar{align-items:center;}
.artf-qbtn{display:inline-flex;align-items:center;gap:6px;font-size:14px;padding:10px 16px;border-radius:50px;border:1px solid #dcdcdc;background:#fff;color:#333;cursor:pointer;font-family:inherit;line-height:1;}
.artf-qbtn:hover{border-color:#1a1a1a;background:#1a1a1a;color:#fff;}
.artf-qbtn:hover .artf-qcaret{color:#fff;}
.artf-qbtn.artf-qopen{background:#f4f2ee;border-color:#1a1a1a;}
.artf-qcaret{font-size:11px;color:#999;transition:transform .15s;}
.artf-qbtn.artf-qopen .artf-qcaret{transform:rotate(180deg);}
.artf-qbadge{background:#1a1a1a;color:#fff;border-radius:20px;font-size:11px;font-weight:600;padding:1px 7px;display:none;}
#artf-dd{position:relative;margin:0 0 22px;}
.artf-ddpanel{border:1px solid #e5e5e5;border-radius:12px;padding:18px;margin-top:12px;background:#fff;}
.artf-ddpanel .artf-dots{margin-bottom:0;}

/* ---- v2.3.1: hard-hide filtered cards (beats Elementor lazy animation) ---- */
.artf-hide{display:none !important;}

/* ---- v2.3.2: quick buttons match main button size, left-aligned, "Filter by" label ---- */
#artf-selfbar{justify-content:flex-start;flex-wrap:wrap;gap:10px;}
#artf-selfbar #artf-selfcount{margin-left:auto;}
#artf-filterby{font-size:14px;color:#888;margin:0 2px 0 10px;white-space:nowrap;}
.artf-qbtn{padding:12px 20px;font-size:15px;}

/* ---- v2.4: mobile sticky bar + bottom-sheet (mobile only) ---- */
#artf-mobar{display:none;}
#artf-sheet{display:none;}
@media(max-width:768px){
  /* hide the inline desktop bar on mobile, show sticky bar */
  #artf-selfbar,#artf-dd{display:none;}
  #artf-mobar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9997;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e5e5e5;box-shadow:0 -4px 20px rgba(0,0,0,.08);}
  #artf-mobar-open{flex:1;background:#1a1a1a;color:#fff;border:none;border-radius:50px;padding:14px;font-size:15px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;cursor:pointer;}
  #artf-mobar-open svg{width:17px;height:17px;stroke:#fff;}
  #artf-mobar-open .artf-badge{background:#fff;color:#1a1a1a;border-radius:20px;font-size:12px;font-weight:600;padding:1px 7px;display:none;}
  #artf-mobar-filterby{background:#fff;color:#1a1a1a;border:1px solid #1a1a1a;border-radius:50px;padding:14px 18px;font-size:15px;display:inline-flex;align-items:center;gap:6px;font-family:inherit;cursor:pointer;white-space:nowrap;}

  #artf-sheet{position:fixed;inset:0;z-index:9999;background:rgba(20,20,20,.42);}
  #artf-sheet.artf-sheet-open{display:block;}
  #artf-sheet-inner{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:18px 18px 0 0;max-height:80vh;overflow-y:auto;padding:8px 18px calc(18px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;}
  #artf-sheet:not(.artf-sheet-open) #artf-sheet-inner{display:none;}
  .artf-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0 12px;position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;margin-bottom:12px;}
  .artf-sheet-head>span{font-family:Georgia,serif;font-size:19px;flex:1;text-align:center;}
  .artf-sheet-x,.artf-sheet-back{background:none;border:none;font-size:26px;line-height:1;color:#333;cursor:pointer;width:32px;}
  .artf-sheet-back{font-size:30px;}
  .artf-sheet-cat{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;border-bottom:1px solid #f0f0f0;padding:16px 2px;font-size:16px;color:#1a1a1a;cursor:pointer;font-family:inherit;}
  .artf-sheet-n{background:#1a1a1a;color:#fff;border-radius:20px;font-size:12px;padding:1px 8px;margin-left:6px;}
  .artf-sheet-arrow{color:#bbb;font-size:20px;}
  .artf-sheet-done{width:100%;background:#1a1a1a;color:#fff;border:none;border-radius:8px;padding:15px;font-size:16px;font-weight:500;margin-top:18px;cursor:pointer;font-family:inherit;}
  /* give page bottom room so sticky bar doesn't cover content */
  body{padding-bottom:76px;}
}

/* ---- v2.4.1: readable open-state on quick buttons (theme was greying the text) ---- */
.artf-qbtn,.artf-qbtn.artf-qopen{color:#1a1a1a !important;}
.artf-qbtn:hover{color:#fff !important;}
.artf-qbtn:hover .artf-qcaret{color:#fff !important;}
.artf-qbtn.artf-qopen{background:#f4f2ee !important;border-color:#1a1a1a !important;}
.artf-qbtn .artf-qcaret{color:#999 !important;}
#artf-mobar-filterby,#artf-mobar-filterby:hover{color:#1a1a1a !important;}

/* ---- v2.4.3: mobile full overlay panel full-screen + above sticky bar ---- */
@media(max-width:768px){
  #artf-overlay.artf-open{justify-content:stretch;}
  #artf-panel{max-width:100% !important;width:100% !important;height:100% !important;}
  #artf-overlay{z-index:10000;}
}

/* ---- v2.5.1: reset filters button ---- */
#artf-reset{display:none;align-items:center;gap:6px;font-size:15px;padding:12px 18px;border-radius:50px;border:1px solid #dcdcdc;background:#fff;color:#1a1a1a;cursor:pointer;font-family:inherit;line-height:1;}
#artf-reset:hover{border-color:#c0392b;color:#c0392b;}
#artf-reset svg{width:15px;height:15px;stroke:currentColor;}

/* ---- v2.6: load-all loading state + result pagination ---- */
#artf-loading{text-align:center;padding:16px;font-size:14px;color:#888;font-family:inherit;}
#artf-rpager{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:28px 0;}
.artf-rpage{min-width:38px;height:38px;border:1px solid #dcdcdc;background:#fff;border-radius:8px;font-size:14px;cursor:pointer;color:#1a1a1a;font-family:inherit;}
.artf-rpage:hover{border-color:#1a1a1a;}
.artf-rpage-on{background:#1a1a1a;color:#fff;border-color:#1a1a1a;}

/* ---- v2.7: smart pager nav + dots ---- */
.artf-rpage-nav{font-size:18px;line-height:1;padding:0 12px;}
.artf-rpage-dots{border:none !important;background:transparent !important;cursor:default;min-width:24px;color:#999;}
.artf-rpage:disabled{opacity:.4;cursor:default;}

/* ---- v2.7.3: replace loop quick-view with a clean full-card hover overlay ---- */
/* hide the stray quick-view button inside finder cards */
.e-loop-item .more-product-button{ display:none !important; }
/* the card's image area gets a subtle darken + centered "View Product" button on hover */
.e-loop-item .artf-cardwrap{ position:relative; }
.e-loop-item .artf-overlay{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  background:rgba(20,20,20,0); transition:background .25s ease; pointer-events:none; z-index:5;
}
.e-loop-item:hover .artf-overlay{ background:rgba(20,20,20,.28); }
.e-loop-item .artf-viewbtn{
  opacity:0; transform:translateY(6px); transition:opacity .25s ease, transform .25s ease;
  background:#fff; color:#1a1a1a; font-size:14px; font-weight:500; letter-spacing:.02em;
  padding:11px 22px; border-radius:50px; border:none; font-family:inherit; white-space:nowrap;
  box-shadow:0 2px 12px rgba(0,0,0,.18); pointer-events:none;
}
.e-loop-item:hover .artf-viewbtn{ opacity:1; transform:translateY(0); }

/* ---- Discover button — centered, below View Product; opens the swipe gallery scoped to this loop ---- */
.e-loop-item .artf-eye{
  opacity:0; transform:translateY(6px); transition:opacity .25s ease, transform .25s ease, background .18s ease, color .18s ease;
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(255,255,255,.16); color:#fff; border:1.5px solid rgba(255,255,255,.7);
  font-family:inherit; font-size:13px; font-weight:500; letter-spacing:.02em; white-space:nowrap;
  padding:9px 18px; border-radius:50px; cursor:pointer; pointer-events:auto;
  -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
}
.e-loop-item .artf-eye svg{ display:block; width:17px; height:17px; flex:0 0 auto; }
.e-loop-item:hover .artf-eye{ opacity:1; transform:translateY(0); }
.e-loop-item .artf-eye:hover{ background:#fff; color:#181b20; border-color:#fff; }
/* touch devices: no hover — show the overlay buttons so they're usable */
@media(hover:none){
  .e-loop-item .artf-viewbtn, .e-loop-item .artf-eye{ opacity:1; transform:translateY(0); }
}
/* mobile: remove the Discover overlay button — collection cards are too small for it */
@media(max-width:768px){
  .e-loop-item .artf-eye{ display:none !important; }
}

/* ---- v2.8.3: wishlist heart — icon centered on white circle, top-right of image ---- */
.e-loop-item .artf-heart{
  position:absolute !important; top:10px !important; right:10px !important;
  left:auto !important; bottom:auto !important; margin:0 !important;
  z-index:7; width:36px !important; height:36px !important; border-radius:50% !important;
  background:rgba(255,255,255,.95) !important; box-shadow:0 1px 5px rgba(0,0,0,.15) !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  pointer-events:auto !important; overflow:hidden !important;
}
/* show the ADD button by default (beat plugin's .wlfmc-add-button{display:none}); center it */
/* neutralize the nested wishlist wrapper's own absolute/zero-size positioning so it fills the circle */
.e-loop-item .artf-heart .wlfmc-add-to-wishlist{
  position:absolute !important; inset:0 !important; top:0 !important; right:0 !important;
  left:0 !important; bottom:0 !important; width:100% !important; height:100% !important;
  margin:0 !important; padding:0 !important; display:block !important;
}
.e-loop-item .artf-heart .wlfmc-add-button.wlfmc-addtowishlist{
  display:flex !important; align-items:center !important; justify-content:center !important;
  position:absolute !important; inset:0 !important; top:0 !important; right:0 !important;
  margin:0 !important; padding:0 !important; background:none !important; border:none !important; min-width:0 !important;
}
.e-loop-item .artf-heart .wlfmc-add-button.wlfmc-removefromwishlist{ display:none !important; }
/* ADDED state — cover every way the plugin signals it (wrapper class variants) */
.e-loop-item .wlfmc-add-to-wishlist.wlfmc-added .wlfmc-addtowishlist,
.e-loop-item .wlfmc-add-to-wishlist.added .wlfmc-addtowishlist,
.e-loop-item .wlfmc-add-to-wishlist.exists .wlfmc-addtowishlist{ display:none !important; }
.e-loop-item .wlfmc-add-to-wishlist.wlfmc-added .wlfmc-removefromwishlist,
.e-loop-item .wlfmc-add-to-wishlist.added .wlfmc-removefromwishlist,
.e-loop-item .wlfmc-add-to-wishlist.exists .wlfmc-removefromwishlist{
  display:flex !important; align-items:center !important; justify-content:center !important;
  position:absolute !important; inset:0 !important; margin:0 !important; padding:0 !important; background:none !important; border:none !important;
}
/* the link fills + centers */
.e-loop-item .artf-heart .wlfmc-add-button a{
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:100% !important; height:100% !important; margin:0 !important; padding:0 !important;
  background:none !important; border:none !important; box-shadow:none !important;
}
.e-loop-item .artf-heart .wlfmc-add-button a:hover{ background:none !important; box-shadow:none !important; }
.e-loop-item .artf-heart i,
.e-loop-item .artf-heart .wlfmc-addtowishlist i,
.e-loop-item .artf-heart .wlfmc-removefromwishlist i,
.e-loop-item .artf-heart a i,
.e-loop-item .artf-heart .wlfmc-icon-heart-regular-2,
.e-loop-item .artf-heart .wlfmc-icon-heart-regular-2-o{
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:20px !important; height:20px !important; font-size:18px !important; line-height:1 !important;
  color:#181b20 !important; margin:0 !important; padding:0 !important;
}
/* force dark on the ::before glyph too (some themes color the pseudo-element) */
.e-loop-item .artf-heart i::before,
.e-loop-item .artf-heart .wlfmc-icon-heart-regular-2::before,
.e-loop-item .artf-heart .wlfmc-icon-heart-regular-2-o::before{
  color:#181b20 !important;
}
.e-loop-item .artf-heart span, .e-loop-item .artf-heart .ps-label,
.e-loop-item .artf-heart .wlfmc-tooltip{ display:none !important; }
/* keep heart above the hover overlay + clickable */
.e-loop-item .artf-overlay{ z-index:5; }

/* ---- v2.7.6: small breathing room between card image and title ---- */
.e-loop-item .elementor-element-9798b39,
.e-loop-item .elementor-widget-heading:first-of-type{ margin-top:12px !important; }

/* ---- v2.9.4: pin loop-item card title size (beats page global 40px typography) ---- */
.elementor-1597189321 .e-loop-item .elementor-heading-title,
.e-loop-item .elementor-element-9798b39 .elementor-heading-title,
.e-loop-item .elementor-heading-title{ font-size:16px !important; line-height:1.3 !important; }
@media(max-width:767px){
  .elementor-1597189321 .e-loop-item .elementor-heading-title,
  .e-loop-item .elementor-heading-title{ font-size:15px !important; }
}

/* ============================================================
   DISCOVER — Tinder-style swipe gallery
   ============================================================ */
body.dv-lock{ overflow:hidden !important; position:fixed !important; width:100% !important; }
#artf-dv{ touch-action:none; overscroll-behavior:contain; }
#artf-dv .dv-shell{ touch-action:none; }
#artf-dv .dv-imgwrap{ touch-action:none; }

#artf-dv{ position:fixed; inset:0; z-index:100000; display:none; }
#artf-dv.dv-open{ display:block; }
#artf-dv .dv-backdrop{ position:absolute; inset:0; background:rgba(18,18,20,.55); backdrop-filter:blur(3px); }
#artf-dv .dv-shell{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(94vw,420px); max-height:94vh; display:flex; flex-direction:column;
  background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.35);
}
#artf-dv .dv-bar{ display:flex; align-items:center; justify-content:space-between; padding:14px 18px 8px; }
#artf-dv .dv-brand{ font-size:15px; font-weight:600; letter-spacing:.04em; color:#181b20; }
#artf-dv .dv-count{ font-size:12px; color:#9a9a9a; }
#artf-dv .dv-x{ border:none; background:none; font-size:26px; line-height:1; color:#8a8a8a; cursor:pointer; padding:0 2px; }

#artf-dv .dv-stage{ position:relative; margin:4px 16px 0; height:min(60vh,470px); }
#artf-dv .dv-host{ position:absolute; inset:0; }
#artf-dv .dv-card{
  position:absolute; inset:0; border-radius:16px; overflow:hidden; background:#f4f2ec;
  box-shadow:0 6px 22px rgba(0,0,0,.12); cursor:grab; display:flex; flex-direction:column;
}
#artf-dv .dv-card.dv-drag{ cursor:grabbing; }
#artf-dv .dv-thumbs{ display:none; }
#artf-dv .dv-imgwrap{ position:relative; flex:1; overflow:hidden; background:#efeee8; min-height:0; }
#artf-dv .dv-imgwrap img{ width:100%; height:100%; object-fit:cover; display:block; user-select:none; }
#artf-dv .dv-dots{ position:absolute; top:10px; left:0; right:0; display:flex; gap:4px; justify-content:center; padding:0 34px; }
#artf-dv .dv-dot{ flex:1; max-width:38px; height:3px; border-radius:2px; background:rgba(255,255,255,.5); }
#artf-dv .dv-dot.on{ background:#fff; }
#artf-dv .dv-tag{ position:absolute; top:18px; font-size:13px; font-weight:700; letter-spacing:.05em; padding:6px 14px; border-radius:50px; opacity:0; }
#artf-dv .dv-tag-save{ right:16px; background:#1d9e75; color:#fff; }
#artf-dv .dv-tag-skip{ left:16px; background:#8a8a8a; color:#fff; }
#artf-dv .dv-meta{ padding:12px 16px 14px; background:#fff; }
#artf-dv .dv-title{ margin:0 0 4px; font-size:14px; line-height:1.35; font-weight:500; color:#181b20; }
#artf-dv .dv-price{ margin:0; font-size:13px; color:#6a6a6a; }
#artf-dv .dv-price del{ opacity:.5; margin-right:6px; }
#artf-dv .dv-price ins{ text-decoration:none; }

#artf-dv .dv-empty{ position:absolute; inset:0; display:none; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:#8a8a8a; text-align:center; }
#artf-dv .dv-empty-i{ font-size:34px; }
#artf-dv .dv-empty p{ margin:0; font-size:15px; }
#artf-dv .dv-restart{ padding:9px 18px; border-radius:50px; border:1.5px solid #181b20; background:#fff; color:#181b20; cursor:pointer; font-size:14px; }

#artf-dv .dv-actions{ display:flex; align-items:center; gap:9px; padding:14px 16px 6px; }
#artf-dv .dv-act{ font-family:inherit; cursor:pointer; border:1.5px solid #e0e0e0; background:#fff; color:#181b20; transition:transform .12s ease; }
#artf-dv .dv-act:active{ transform:scale(.93); }
#artf-dv .dv-prev, #artf-dv .dv-next{ width:46px; height:46px; border-radius:50%; font-size:19px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; }
#artf-dv .dv-save{ flex:1; height:46px; border-radius:50px; display:flex; align-items:center; justify-content:center; gap:7px; font-size:14px; }
#artf-dv .dv-save .dv-heart{ font-size:18px; line-height:1; }
#artf-dv .dv-save.is-saved{ background:#181b20; color:#fff; border-color:#181b20; }
#artf-dv .dv-save.is-saved .dv-heart{ color:#fff; }
#artf-dv .dv-buy{ flex:1; height:46px; border-radius:50px; background:#181b20; color:#fff; border-color:#181b20; font-size:14px; font-weight:500; }
#artf-dv .dv-view{ margin:2px auto 14px; display:block; background:none; border:none; color:#8a8a8a; font-size:13px; text-decoration:underline; cursor:pointer; }

/* floating Discover launcher */
#artf-dv-fab{
  position:fixed; left:20px; right:auto; bottom:32px; z-index:9998;
  display:inline-flex; width:auto; align-items:center; gap:9px; padding:15px 24px;
  border:none; border-radius:50px; background:#181b20; color:#fff; cursor:pointer;
  font-family:inherit; font-size:16px; font-weight:500; box-shadow:0 6px 22px rgba(0,0,0,.28);
  transition:transform .18s ease, box-shadow .18s ease;
}
#artf-dv-fab:hover{ transform:translateY(-2px); box-shadow:0 8px 28px rgba(0,0,0,.32); }
#artf-dv-fab .dv-fab-i{ font-size:20px; line-height:1; }
@media(max-width:768px){ #artf-dv-fab{ left:16px; right:auto; bottom:84px; padding:14px 22px; font-size:15px; } }

/* Discover: gallery chevron hints — purely visual, NEVER intercept touch */
#artf-dv .dv-navchev{
  position:absolute; top:50%; transform:translateY(-50%); z-index:4;
  display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.82);
  color:#181b20; font-size:19px; line-height:1; box-shadow:0 1px 5px rgba(0,0,0,.18);
  opacity:0; transition:opacity .25s ease; pointer-events:none;
}
#artf-dv .dv-navchev-l{ left:10px; }
#artf-dv .dv-navchev-r{ right:10px; }
#artf-dv .dv-card.dv-top:hover .dv-navchev{ opacity:.85; }
/* on touch devices flash the chevrons briefly so tapping the sides is discoverable */
@media(hover:none){
  #artf-dv .dv-card.dv-top .dv-navchev{ animation:dvChevHint 2.8s ease 0.5s 2 alternate; }
}
@keyframes dvChevHint{ 0%{opacity:0;} 40%{opacity:.85;} 100%{opacity:0;} }

/* ============================================================
   DISCOVER — Desktop gallery presentation (≥900px)
   ============================================================ */
#artf-dv .dv-side{ display:none; }

@media(min-width:900px){
  /* larger, more immersive shell */
  #artf-dv .dv-shell{
    width:min(88vw,880px); max-height:92vh; border-radius:22px;
    animation:dvShellIn .45s cubic-bezier(.16,1,.3,1);
  }
  #artf-dv .dv-bar{ padding:18px 24px 10px; }
  #artf-dv .dv-brand{ font-size:17px; letter-spacing:.06em; text-transform:uppercase; }

  /* bigger art stage */
  #artf-dv .dv-stage{ height:min(70vh,600px); margin:6px 24px 0; }
  /* desktop card: thumbnail rail (left) + artwork, with meta spanning below */
  #artf-dv .dv-card{
    border-radius:18px;
    display:grid; grid-template-columns:76px 1fr; grid-template-rows:1fr auto;
    grid-template-areas:"thumbs image" "meta meta"; gap:0;
  }
  #artf-dv .dv-thumbs{
    grid-area:thumbs; display:flex; flex-direction:column; gap:8px;
    padding:14px 8px 14px 12px; overflow-y:auto; background:#efeee8;
    -webkit-overflow-scrolling:touch;
  }
  #artf-dv .dv-thumb{
    flex:0 0 auto; width:56px; height:56px; padding:0; border:2px solid transparent;
    border-radius:9px; overflow:hidden; background:#fff; cursor:pointer; opacity:.72;
    transition:opacity .18s ease, border-color .18s ease;
  }
  #artf-dv .dv-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
  #artf-dv .dv-thumb:hover{ opacity:1; }
  #artf-dv .dv-thumb.on{ opacity:1; border-color:#181b20; }
  /* keep the artwork square (1:1), sized by available height, centered — art fully visible */
  #artf-dv .dv-imgwrap{ grid-area:image; flex:none; width:100%; height:100%; background:#f4f2ec; display:flex; align-items:center; justify-content:center; }
  #artf-dv .dv-imgwrap img{ width:auto; height:100%; max-width:100%; aspect-ratio:1/1; object-fit:contain; margin:0 auto; }
  #artf-dv .dv-meta{ grid-area:meta; flex:none; }
  /* thumbnails replace the dots + chevrons on desktop */
  #artf-dv .dv-dots{ display:none; }
  #artf-dv .dv-navchev{ display:none; }
  #artf-dv .dv-thumbs{ display:flex; }

  /* large floating side arrows on the viewport edges */
  #artf-dv .dv-side{
    display:flex; align-items:center; justify-content:center;
    position:absolute; top:50%; transform:translateY(-50%);
    width:60px; height:60px; border-radius:50%; z-index:6;
    border:none; cursor:pointer; background:rgba(255,255,255,.92); color:#181b20;
    font-size:32px; line-height:1; box-shadow:0 6px 24px rgba(0,0,0,.28);
    transition:transform .18s ease, background .18s ease;
  }
  #artf-dv .dv-side:hover{ background:#fff; transform:translateY(-50%) scale(1.08); }
  #artf-dv .dv-side:active{ transform:translateY(-50%) scale(.96); }
  #artf-dv .dv-side-prev{ left:max(24px,calc(50vw - 500px)); }
  #artf-dv .dv-side-next{ right:max(24px,calc(50vw - 500px)); }

  /* hide the small in-panel prev/next on desktop (side arrows replace them) */
  #artf-dv .dv-prev, #artf-dv .dv-next{ display:none; }

  /* refined desktop actions row: Save + Buy centered, larger */
  #artf-dv .dv-actions{ padding:18px 24px 8px; gap:12px; max-width:520px; margin:0 auto; width:100%; }
  #artf-dv .dv-save, #artf-dv .dv-buy{ height:52px; font-size:15px; }
  #artf-dv .dv-view{ margin-bottom:18px; font-size:14px; }

  /* larger gallery nav chevrons on hover */
  #artf-dv .dv-navchev{ width:38px; height:38px; font-size:22px; }
  #artf-dv .dv-meta{ padding:16px 22px 18px; }
  #artf-dv .dv-title{ font-size:17px; }
  #artf-dv .dv-price{ font-size:15px; }
}

/* entrance + card transitions */
@keyframes dvShellIn{ from{ opacity:0; transform:translate(-50%,-46%) scale(.96); } to{ opacity:1; transform:translate(-50%,-50%) scale(1); } }
#artf-dv.dv-open .dv-backdrop{ animation:dvFade .35s ease; }
@keyframes dvFade{ from{ opacity:0; } to{ opacity:1; } }
#artf-dv .dv-card.dv-top{ animation:dvCardIn .38s cubic-bezier(.16,1,.3,1); }
@keyframes dvCardIn{ from{ opacity:0; transform:scale(.97); } to{ opacity:1; transform:scale(1); } }

/* ============================================================
   DISCOVER — swipe hint (mobile) + refinements
   ============================================================ */
#artf-dv .dv-swipehint{
  position:absolute; top:44%; left:50%; transform:translate(-50%,-50%) scale(.94);
  z-index:500; display:flex; align-items:center; gap:9px;
  padding:11px 20px; border-radius:50px; background:rgba(24,27,32,.9); color:#fff;
  font-size:14px; font-weight:500; letter-spacing:.02em; white-space:nowrap;
  opacity:0; pointer-events:none; transition:opacity .35s ease, transform .35s ease;
  box-shadow:0 4px 18px rgba(0,0,0,.35);
}
#artf-dv .dv-swipehint.show{ opacity:1; transform:translate(-50%,-50%) scale(1); }
#artf-dv .dv-swipehint-hand{
  display:inline-block; font-size:18px; line-height:1;
  animation:dvSwipeHand 1.3s ease-in-out infinite;
}
@keyframes dvSwipeHand{
  0%,100%{ transform:translateX(-5px) rotate(-8deg); }
  50%{ transform:translateX(5px) rotate(8deg); }
}

/* ============================================================
   DISCOVER — filter panel
   ============================================================ */
#artf-dv .dv-filter-btn{
  position:relative; display:inline-flex !important; align-items:center; gap:7px;
  width:auto !important; height:36px; padding:0 15px !important; border-radius:50px; border:1px solid #e0e0e0; background:#fff;
  color:#181b20; cursor:pointer; margin-left:auto; margin-right:8px; flex:0 0 auto;
  font-family:inherit; font-size:13px; font-weight:500; white-space:nowrap; text-transform:none; letter-spacing:normal;
}
#artf-dv .dv-filter-btn:hover{ background:#f6f6f4; }
#artf-dv .dv-filter-btn svg{ display:block; flex:0 0 auto; width:16px; height:16px; }
#artf-dv .dv-filter-txt{ line-height:1; }
#artf-dv .dv-filter-badge{
  min-width:18px; height:18px; padding:0 4px;
  border-radius:50px; background:#181b20; color:#fff; font-size:11px; font-weight:600;
  display:none; align-items:center; justify-content:center; line-height:1;
}
#artf-dv .dv-bar .dv-count{ margin-right:auto; }

#artf-dv .dv-filter-panel{
  position:absolute; left:0; right:0; top:56px; bottom:0; z-index:300;
  background:#fff; display:flex; flex-direction:column;
  transform:translateY(-8px); opacity:0; pointer-events:none; transition:opacity .25s ease, transform .25s ease;
}
#artf-dv .dv-filter-panel.open{ transform:translateY(0); opacity:1; pointer-events:auto; }
#artf-dv .dv-filter-head{ display:flex; align-items:center; justify-content:space-between; padding:14px 20px 8px; }
#artf-dv .dv-filter-head span{ font-size:16px; font-weight:600; color:#181b20; }
#artf-dv .dv-filter-clear{ border:none; background:none; color:#8a8a8a; font-size:13px; cursor:pointer; text-decoration:underline; }
#artf-dv .dv-filter-body{ flex:1; overflow-y:auto; padding:6px 20px 12px; -webkit-overflow-scrolling:touch; }
#artf-dv .dv-fg{ margin-bottom:18px; }
#artf-dv .dv-fg-title{ font-size:13px; font-weight:600; color:#181b20; margin-bottom:10px; text-transform:uppercase; letter-spacing:.04em; }
#artf-dv .dv-fg-opts{ display:flex; flex-wrap:wrap; gap:8px; }
/* dots (colours) */
#artf-dv .dv-opt-dot{ display:flex; flex-direction:column; align-items:center; gap:4px; width:56px; border:none; background:none; cursor:pointer; padding:2px; }
#artf-dv .dv-sw{ width:30px; height:30px; border-radius:50%; box-shadow:0 0 0 1px rgba(0,0,0,.06); transition:box-shadow .15s ease; }
#artf-dv .dv-opt-dot.sel .dv-sw{ box-shadow:0 0 0 2px #181b20; }
#artf-dv .dv-opt-l{ font-size:11px; color:#6a6a6a; line-height:1.2; text-align:center; }
#artf-dv .dv-opt-dot.sel .dv-opt-l{ color:#181b20; font-weight:600; }
/* chips (style/type/format) */
#artf-dv .dv-opt-chip{ padding:8px 14px; border-radius:50px; border:1px solid #e0e0e0; background:#fff; color:#3a3a3a; font-size:13px; cursor:pointer; transition:all .15s ease; }
#artf-dv .dv-opt-chip:hover{ border-color:#bbb; }
#artf-dv .dv-opt-chip.sel{ background:#181b20; color:#fff; border-color:#181b20; }
#artf-dv .dv-filter-foot{ padding:12px 20px; border-top:1px solid #eee; }
#artf-dv .dv-filter-apply{ width:100%; height:48px; border-radius:50px; border:none; background:#181b20; color:#fff; font-size:15px; font-weight:500; cursor:pointer; }

/* ============================================================
   RTL adaptations for printstudio.co.il (dir="rtl", he-IL)
   FAB stays on the LEFT and swipe direction unchanged (per spec).
   Only logical-flow fixes so panels/badges sit correctly in RTL.
   ============================================================ */
[dir="rtl"] #artf-panel{ margin-left:0; margin-right:auto; }
[dir="rtl"] #artf-selfbar #artf-selfcount{ margin-left:0; margin-right:auto; }
[dir="rtl"] .dv-filter-btn{ margin-left:0; margin-right:auto; }
[dir="rtl"] .dv-bar{ direction:rtl; }
[dir="rtl"] .dv-filter-head,
[dir="rtl"] .dv-filter-foot,
[dir="rtl"] .artf-sheet-cat{ direction:rtl; }
[dir="rtl"] .artf-viewbtn,
[dir="rtl"] .dv-save-txt,
[dir="rtl"] .dv-view,
[dir="rtl"] .dv-buy{ direction:rtl; }
/* filter panel text alignment */
[dir="rtl"] .dv-filter-panel,
[dir="rtl"] .artf-sheet{ text-align:right; }
/* swipe hint hand: neutral for RTL (point stays readable) */
[dir="rtl"] .dv-swipehint{ direction:rtl; }

/* ============================================================
   RTL fixes for co.il — arrow direction + FAB clear of a11y button
   ============================================================ */
/* Arrow glyphs are swapped in the JS markup for RTL (prev points ›, next points ‹).
   Positions stay the same; only the chevron characters flip. */

/* 4. FAB: lift it higher so it clears the site's accessibility button
   (bottom-left). Move well above it on mobile and desktop. */
#artf-dv-fab{ bottom:150px !important; }
@media(max-width:768px){ #artf-dv-fab{ bottom:150px !important; left:16px; right:auto; } }

/* co.il: the shortcode filter FAB (#artf-fab) defaults to bottom-right where the
   WhatsApp widget sits — move it up-left so it's actually visible and doesn't
   collide with WhatsApp (bottom-right) or the Discover gallery FAB (bottom-left). */
#artf-fab{ bottom:220px !important; right:18px !important; left:auto !important; z-index:10000 !important; }
@media(max-width:768px){ #artf-fab{ bottom:220px !important; right:14px !important; left:auto !important; } }
