/* Project E — Reviews. Clean, minimalist, Airbnb-style. Inherits site font.
 *
 * The scoped reset below is not optional — same lesson as minicart.css.
 * `.elementor-kit-5 button` (specificity 0,1,1) outranks every plain class
 * selector here (0,1,0), so a themed page repainted the whole widget:
 * 12px 30px of padding on the 64px media tiles squeezed their images to a
 * 4px sliver over a black background, the star inputs spread across the row,
 * the close button became a black rectangle, and every radius went to 0.
 * Anything deciding a control's BOX (padding/border/radius/size) or its
 * COLOUR is therefore !important — restating colour alone is not enough.
 */

/* Design tokens. Every root the shortcodes can produce is listed: the gallery
   and the rating badge render standalone (not inside .jw-rv), and the modal and
   lightbox are moved to body level by the JS — a single scope reaches none of them. */
.jw-rv,.jw-rv-modal,.jw-rv-lightbox,.jw-rv-gallery,.jw-rv-rating-badge{
	--jw-rv-accent:#111;--jw-rv-accent-hi:#2e2e2e;--jw-rv-on-accent:#fff;
	--jw-rv-star:#111;--jw-rv-star-off:#dcdcdc;
	--jw-rv-ink:#111;--jw-rv-text:#333;--jw-rv-muted:#777;
	--jw-rv-line:#e8e8e8;--jw-rv-line-str:#bbb;--jw-rv-surface:#fff;
	--jw-rv-tint:#f2f2f2;--jw-rv-tint-2:#ebebeb;--jw-rv-radius:10px;
}
.jw-rv,.jw-rv *,.jw-rv-modal,.jw-rv-modal *,.jw-rv-lightbox,.jw-rv-lightbox *,
.jw-rv-gallery,.jw-rv-gallery *{box-sizing:border-box;font-family:inherit;}
.jw-rv{direction:rtl;color:#222;margin:24px 0;scroll-margin-top:150px;}
body.jw-rv-lock{overflow:hidden;}

/* ==========================================================================
   Scoped reset — strip theme control styling, then restyle below.
   ========================================================================== */
/* :where() zeroes the selector's specificity, so these !important declarations
   still outrank every unflagged theme rule, while each component rule below
   (a plain 0,1,0 class) outranks the reset and gets to restate its real box. */
:where(.jw-rv,.jw-rv-modal,.jw-rv-lightbox,.jw-rv-gallery) :where(button,label,input,textarea),
:where(.jw-rv-rating-badge){
	margin:0!important;padding:0!important;border:0!important;background:none!important;
	box-shadow:none!important;text-shadow:none!important;text-transform:none!important;
	letter-spacing:normal!important;font:inherit!important;font-size:inherit!important;
	font-weight:inherit!important;line-height:1.2!important;text-decoration:none!important;
	min-width:0!important;min-height:0!important;width:auto!important;height:auto!important;
	border-radius:0!important;transform:none;-webkit-appearance:none;appearance:none;
	-webkit-tap-highlight-color:transparent;
}
/* Form controls don't inherit font-family, and themes love to set it on labels. */
:where(.jw-rv,.jw-rv-modal,.jw-rv-lightbox,.jw-rv-gallery) :where(button,input,select,textarea,label),
:where(.jw-rv-rating-badge){font-family:inherit!important;}
/* Theme/Elementor img rules (`height:auto`, `border-radius:0`, `max-width:100%`)
   collapse the cover-fitted media inside every tile. */
.jw-rv-gcell img,.jw-rv-gcell video,.jw-rv-gmore img,
.jw-rv-media-cell img,.jw-rv-media-cell video,
.jw-rv-prev img,.jw-rv-prev video{
	width:100%!important;height:100%!important;max-width:none!important;
	max-height:none!important;border-radius:0!important;object-fit:cover;display:block;
}
.jw-rv svg,.jw-rv-modal svg,.jw-rv-lightbox svg,.jw-rv-rating-badge svg{flex:0 0 auto;max-width:none;}
/* Keyboard focus stays visible; only the mouse-click ring is suppressed. */
.jw-rv :focus,.jw-rv-modal :focus,.jw-rv-lightbox :focus,.jw-rv-rating-badge:focus{outline:none;}
.jw-rv :focus-visible,.jw-rv-modal :focus-visible,.jw-rv-lightbox :focus-visible,
.jw-rv-gallery :focus-visible,.jw-rv-rating-badge:focus-visible{
	outline:2px solid var(--jw-rv-accent)!important;outline-offset:2px!important;
}
.jw-rv-lightbox :focus-visible,.jw-rv-gmore:focus-visible{outline-color:#fff!important;}

/* ==========================================================================
   Summary header
   ========================================================================== */
.jw-rv-summary{margin-bottom:22px;}
.jw-rv-summary-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap;}
.jw-rv-score{display:flex;align-items:baseline;gap:8px;font-size:26px;font-weight:800;}
.jw-rv-star{font-size:24px;line-height:1;color:var(--jw-rv-star);}
.jw-rv-avg{font-size:28px;}
.jw-rv-count{font-size:16px;font-weight:600;color:var(--jw-rv-muted);}
.jw-rv-summary-grid{display:grid;grid-template-columns:1fr;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--jw-rv-line);align-items:start;}
.jw-rv-summary-grid.has-cats{grid-template-columns:300px 1fr;gap:44px;}
.jw-rv-summary-grid.has-media:not(.has-cats){grid-template-columns:300px 1fr;gap:32px;}
.jw-rv-summary-grid.has-cats.has-media{grid-template-columns:300px auto minmax(0,1fr);gap:32px;}
.jw-rv-dist{max-width:300px;}
.jw-rv-dist-t{font-size:14px;font-weight:600;margin-bottom:10px;}
.jw-rv-dist-row{display:flex;align-items:center;gap:8px;margin-bottom:4px;}
.jw-rv-dist-n{font-size:12px;width:10px;color:var(--jw-rv-muted);}
.jw-rv-dist-bar{flex:1;height:5px;border-radius:99px;background:#ececec;overflow:hidden;}
.jw-rv-dist-bar>span{display:block;height:100%;background:var(--jw-rv-accent);border-radius:99px;}
/* Category averages — boxed 2×2 cards, 150px each */
.jw-rv-cats-box{display:grid;grid-template-columns:150px 150px;gap:12px;}
.jw-rv-cat{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--jw-rv-line);border-radius:calc(var(--jw-rv-radius) + 2px);padding:12px 14px;background:var(--jw-rv-surface);}
/* Embedded review-media gallery in the summary (JS sizes it to 2 category rows, 1:1 cells). */
.jw-rv-gallery--summary{margin:0;align-self:start;overflow:hidden;}
.jw-rv-gallery--summary .jw-rv-gcell{border-radius:10px!important;}
.jw-rv-cat-txt{display:flex;flex-direction:column;min-width:0;}
.jw-rv-cat-h{font-size:13px;font-weight:600;color:var(--jw-rv-muted);margin-bottom:3px;}
.jw-rv-cat-v{font-size:22px;font-weight:800;color:var(--jw-rv-ink);line-height:1.1;}
.jw-rv-cat-ico{display:inline-flex;color:var(--jw-rv-accent);flex:0 0 auto;}
.jw-rv-cat-ico svg{width:26px;height:26px;}

/* ==========================================================================
   Review grid
   ========================================================================== */
.jw-rv-actions-top{margin-bottom:18px;}
.jw-rv-grid{display:grid;grid-template-columns:repeat(var(--jw-rv-cols,3),1fr);gap:28px 40px;}
.jw-rv-card{min-width:0;}
.jw-rv-card-head{display:flex;align-items:center;gap:12px;margin-bottom:8px;}
.jw-rv-av{width:44px!important;height:44px!important;max-width:none!important;border-radius:50%!important;object-fit:cover;flex:0 0 auto;}
.jw-rv-av--i{display:inline-flex;align-items:center;justify-content:center;background:var(--jw-rv-accent);color:var(--jw-rv-on-accent);font-weight:700;font-size:18px;}
.jw-rv-card-id{display:flex;flex-direction:column;min-width:0;}
.jw-rv-name{font-weight:600;font-size:15px;color:var(--jw-rv-ink);}
.jw-rv-date{font-size:13px;color:var(--jw-rv-muted);}
.jw-rv-stars-f{position:relative;display:inline-block;color:var(--jw-rv-star-off);font-size:13px;letter-spacing:1px;direction:rtl;line-height:1;}
.jw-rv-stars-f::before{content:"★★★★★";position:absolute;inset-inline-start:0;top:0;color:var(--jw-rv-star);overflow:hidden;white-space:nowrap;width:calc(var(--n,0) / 5 * 100%);}
.jw-rv-stars{margin:2px 0 8px;}
.jw-rv-title{font-weight:600;font-size:15px;margin-bottom:4px;color:var(--jw-rv-ink);}
.jw-rv-body{font-size:15px;line-height:1.55;color:var(--jw-rv-text);}
.jw-rv-body.is-clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.jw-rv-media{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
.jw-rv-empty{color:var(--jw-rv-muted);font-size:15px;}
.jw-rv-more-wrap{margin-top:26px;}

/* --- "read more" text button --- */
.jw-rv-showmore{
	display:inline-block;padding:2px 0!important;margin-top:4px!important;
	background:none!important;color:var(--jw-rv-accent)!important;
	font-size:14px!important;font-weight:600!important;line-height:1.4!important;
	text-decoration:underline!important;text-underline-offset:3px;
	cursor:pointer;transition:opacity .15s;
}
.jw-rv-showmore:hover,.jw-rv-showmore:focus{
	background:none!important;color:var(--jw-rv-accent)!important;
	text-decoration:underline!important;text-decoration-thickness:2px;
}
.jw-rv-showmore:active{background:none!important;color:var(--jw-rv-accent)!important;opacity:.65;}

/* --- Review photo/video thumbnails --- */
.jw-rv-media-cell{
	position:relative;width:64px!important;height:64px!important;flex:0 0 auto;
	padding:0!important;border:0!important;border-radius:var(--jw-rv-radius)!important;
	background:var(--jw-rv-tint)!important;overflow:hidden;cursor:pointer;
	transition:transform .15s,box-shadow .15s;
}
.jw-rv-media-cell:hover{background:var(--jw-rv-tint)!important;box-shadow:0 4px 14px rgba(0,0,0,.18);}
.jw-rv-media-cell:active{background:var(--jw-rv-tint)!important;transform:scale(.96);}
.jw-rv-media-cell img,.jw-rv-media-cell video{transition:transform .3s;}
.jw-rv-media-cell:hover img,.jw-rv-media-cell:hover video{transform:scale(1.06);}
.jw-rv-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.55);box-shadow:0 2px 8px rgba(0,0,0,.35);pointer-events:none;}
.jw-rv-play::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-40%,-50%);width:0;height:0;border-left:12px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent;}
.jw-rv-media-cell--video::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);pointer-events:none;}

/* --- Outline buttons: "write a review" / "see all" --- */
.jw-rv-write,.jw-rv-viewall,
.jw-rv-write:link,.jw-rv-write:visited,.jw-rv-viewall:link,.jw-rv-viewall:visited{
	display:inline-block;padding:12px 22px!important;
	border:1px solid var(--jw-rv-accent)!important;border-radius:var(--jw-rv-radius)!important;
	background:var(--jw-rv-surface)!important;color:var(--jw-rv-accent)!important;
	font-size:15px!important;font-weight:600!important;line-height:1.4!important;
	text-align:center;text-decoration:none!important;cursor:pointer;
	transition:background .15s,color .15s,transform .1s;
}
.jw-rv-write:hover,.jw-rv-write:focus,.jw-rv-viewall:hover,.jw-rv-viewall:focus{
	background:var(--jw-rv-accent)!important;color:var(--jw-rv-on-accent)!important;
	border-color:var(--jw-rv-accent)!important;text-decoration:none!important;
}
.jw-rv-write:active,.jw-rv-viewall:active{
	background:#000!important;color:var(--jw-rv-on-accent)!important;
	border-color:#000!important;transform:translateY(1px);
}

/* ==========================================================================
   Modals (form + all reviews)
   ========================================================================== */
.jw-rv-modal{position:fixed;inset:0;z-index:2147482300;display:flex;align-items:center;justify-content:center;padding:16px;direction:rtl;}
.jw-rv-modal[hidden]{display:none!important;}
.jw-rv-modal-bg{position:absolute;inset:0;background:rgba(17,17,17,.42);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);}
.jw-rv-modal-box{position:relative;background:var(--jw-rv-surface);border-radius:16px;width:100%;max-width:780px;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden;}
.jw-rv-form-modal .jw-rv-modal-box{max-width:520px;}
.jw-rv-modal-t{margin:0;padding:20px 22px;font-size:20px;font-weight:800;color:var(--jw-rv-ink);border-bottom:1px solid var(--jw-rv-line);line-height:1.3;}

/* --- Close button --- */
.jw-rv-x{
	position:absolute;top:12px;left:14px;right:auto;z-index:2;
	display:flex!important;align-items:center;justify-content:center;
	width:38px!important;height:38px!important;padding:0!important;border:0!important;
	border-radius:50%!important;background:none!important;color:var(--jw-rv-ink)!important;
	font-size:26px!important;line-height:1!important;cursor:pointer;
	transition:background .15s,color .15s;
}
.jw-rv-x:hover,.jw-rv-x:focus{background:rgba(0,0,0,.06)!important;color:var(--jw-rv-ink)!important;}
.jw-rv-x:active{background:rgba(0,0,0,.13)!important;color:var(--jw-rv-ink)!important;}

/* Which product is being reviewed. flex-shrink:0 keeps it pinned above the
   scrolling form body instead of being squeezed away on a short screen. */
.jw-rv-modal-prod{display:flex;align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid var(--jw-rv-line);flex-shrink:0;}
.jw-rv-modal-prod-img{width:56px!important;height:56px!important;max-width:none!important;flex:0 0 56px;border-radius:var(--jw-rv-radius)!important;object-fit:cover;display:block;background:var(--jw-rv-tint);}
.jw-rv-modal-prod-name{font-size:15px;font-weight:700;color:var(--jw-rv-ink);line-height:1.35;}

/* ==========================================================================
   Form
   ========================================================================== */
.jw-rv-form{padding:20px 22px;overflow-y:auto;flex:1;min-height:0;}
.jw-rv-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0;}
.jw-rv-field{margin-bottom:12px;}
.jw-rv-field input,.jw-rv-field textarea{
	display:block;width:100%!important;padding:12px 14px!important;
	border:1px solid var(--jw-rv-line)!important;border-radius:var(--jw-rv-radius)!important;
	background:var(--jw-rv-surface)!important;color:var(--jw-rv-text)!important;
	font-size:15px!important;line-height:1.5!important;transition:border-color .15s,box-shadow .15s;
}
.jw-rv-field textarea{resize:vertical;min-height:110px!important;}
.jw-rv-field input:hover,.jw-rv-field textarea:hover{border-color:var(--jw-rv-line-str)!important;}
.jw-rv-field input:focus,.jw-rv-field textarea:focus{
	outline:none!important;border-color:var(--jw-rv-accent)!important;
	box-shadow:0 0 0 3px rgba(17,17,17,.10)!important;
}
.jw-rv-field input::placeholder,.jw-rv-field textarea::placeholder{color:var(--jw-rv-muted);opacity:1;}

.jw-rv-rate-overall>label{display:block!important;margin-bottom:6px!important;font-size:15px!important;font-weight:600!important;color:var(--jw-rv-ink)!important;line-height:1.4!important;}

/* --- Star inputs --- */
.jw-rv-starinput{display:inline-flex;gap:2px;direction:rtl;}
.jw-rv-si{
	display:inline-flex!important;align-items:center;justify-content:center;
	padding:0 1px!important;border:0!important;border-radius:0!important;
	background:none!important;color:var(--jw-rv-star-off)!important;
	font-size:28px!important;line-height:1!important;cursor:pointer;
	transition:color .1s,transform .1s;
}
.jw-rv-si:hover,.jw-rv-si:focus{background:none!important;color:var(--jw-rv-star-off)!important;transform:scale(1.14);}
.jw-rv-si:active{background:none!important;transform:scale(.92);}
.jw-rv-si.is-on,.jw-rv-si.is-on:hover,.jw-rv-si.is-on:focus,.jw-rv-si.is-on:active{color:var(--jw-rv-star)!important;background:none!important;}

.jw-rv-catrates{display:flex;flex-direction:column;gap:8px;margin:8px 0 14px;padding:12px 14px;background:#fafafa;border-radius:10px;}
.jw-rv-catrate{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.jw-rv-catrate-l{display:inline-flex!important;align-items:center;gap:7px;margin:0!important;padding:0!important;font-size:14px!important;font-weight:600!important;line-height:1.3!important;color:var(--jw-rv-text)!important;}
.jw-rv-catrate .jw-rv-si{font-size:22px!important;}

/* --- Upload triggers (labels, not buttons) --- */
.jw-rv-uploads{margin:6px 0 14px;}
.jw-rv-upload{
	display:inline-flex!important;align-items:center;gap:6px;
	margin-inline-end:8px!important;padding:9px 14px!important;
	border:1px dashed var(--jw-rv-line-str)!important;border-radius:10px!important;
	background:none!important;color:var(--jw-rv-text)!important;
	font-size:14px!important;font-weight:600!important;line-height:1.3!important;cursor:pointer;
	transition:border-color .15s,color .15s,background .15s;
}
.jw-rv-upload:hover,.jw-rv-upload:focus-within{
	border-color:var(--jw-rv-accent)!important;color:var(--jw-rv-accent)!important;
	background:#fafafa!important;
}
.jw-rv-upload:active{background:var(--jw-rv-tint-2)!important;border-color:var(--jw-rv-accent)!important;}

/* --- Selected-media previews --- */
.jw-rv-previews{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.jw-rv-prev{position:relative;width:64px;height:64px;border-radius:var(--jw-rv-radius);overflow:hidden;background:var(--jw-rv-tint);}
.jw-rv-prev button{
	position:absolute;top:2px;inset-inline-start:2px;z-index:1;
	display:flex!important;align-items:center;justify-content:center;
	width:20px!important;height:20px!important;padding:0!important;border:0!important;
	border-radius:50%!important;background:rgba(0,0,0,.6)!important;color:#fff!important;
	font-size:13px!important;line-height:1!important;cursor:pointer;transition:background .15s;
}
.jw-rv-prev button:hover,.jw-rv-prev button:focus{background:rgba(0,0,0,.85)!important;color:#fff!important;}
.jw-rv-prev button:active{background:#000!important;color:#fff!important;}

.jw-rv-form-msg{font-size:14px;margin-bottom:10px;min-height:1px;}
.jw-rv-form-msg.is-err{color:#c0392b;}
.jw-rv-form-msg.is-ok{color:#1ea64d;}

/* --- Submit --- */
.jw-rv-submit{
	display:block;width:100%!important;padding:14px!important;
	border:0!important;border-radius:var(--jw-rv-radius)!important;
	background:var(--jw-rv-accent)!important;color:var(--jw-rv-on-accent)!important;
	font-size:16px!important;font-weight:700!important;line-height:1.4!important;
	text-align:center;cursor:pointer;transition:background .15s,transform .1s;
}
.jw-rv-submit:hover,.jw-rv-submit:focus{background:var(--jw-rv-accent-hi)!important;color:var(--jw-rv-on-accent)!important;}
.jw-rv-submit:active{background:#000!important;color:var(--jw-rv-on-accent)!important;transform:translateY(1px);}
.jw-rv-submit:disabled,.jw-rv-submit:disabled:hover,.jw-rv-submit:disabled:active{
	background:var(--jw-rv-accent)!important;color:var(--jw-rv-on-accent)!important;
	opacity:.55;cursor:default;transform:none;
}

/* ==========================================================================
   All-reviews popup
   ========================================================================== */
.jw-rv-all-head{padding:22px 22px 8px;}
.jw-rv-all-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:8px 22px 16px;border-bottom:1px solid var(--jw-rv-line);flex-wrap:nowrap;}
.jw-rv-search{flex:1;min-width:0;position:relative;}
.jw-rv-search-ico{position:absolute;top:50%;inset-inline-start:16px;transform:translateY(-50%);color:#999;pointer-events:none;display:flex;}
.jw-rv-search-input{
	display:block;width:100%!important;
	padding-block:11px!important;padding-inline-start:46px!important;padding-inline-end:18px!important;
	border:1px solid #e3e3e3!important;border-radius:99px!important;
	background:var(--jw-rv-surface)!important;color:var(--jw-rv-ink)!important;
	font-size:14px!important;line-height:1.4!important;transition:border-color .15s,box-shadow .15s;
}
.jw-rv-search-input:hover{border-color:var(--jw-rv-line-str)!important;}
.jw-rv-search-input:focus{outline:none!important;border-color:var(--jw-rv-accent)!important;box-shadow:0 0 0 3px rgba(17,17,17,.10)!important;}
.jw-rv-sort{
	padding:11px 16px!important;border:1px solid var(--jw-rv-line)!important;border-radius:99px!important;
	background:var(--jw-rv-surface)!important;color:var(--jw-rv-ink)!important;
	font-size:14px!important;line-height:1.4!important;font-family:inherit!important;
	cursor:pointer;transition:border-color .15s;
	/* Themes (Astra) give every select width:100%; here that swallows the toolbar and crushes the search field. */
	width:auto!important;flex:0 0 auto;max-width:45%;
}
.jw-rv-sort:hover{border-color:var(--jw-rv-line-str)!important;}
.jw-rv-sort:focus{outline:none!important;border-color:var(--jw-rv-accent)!important;}
.jw-rv-all-list{padding:20px 22px;overflow-y:auto;flex:1;min-height:0;display:grid;grid-template-columns:1fr;gap:26px;align-content:start;}
.jw-rv-all-list .jw-rv-card{padding-bottom:22px;border-bottom:1px solid var(--jw-rv-line);}
.jw-rv-all-loader{padding:16px;text-align:center;color:var(--jw-rv-muted);font-size:14px;}

/* ==========================================================================
   Gallery
   ========================================================================== */
.jw-rv-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0;direction:rtl;}
.jw-rv-gcell{
	position:relative;aspect-ratio:1;padding:0!important;border:0!important;
	border-radius:12px!important;background:var(--jw-rv-tint)!important;
	overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s;
}
.jw-rv-gcell:hover{background:var(--jw-rv-tint)!important;box-shadow:0 6px 18px rgba(0,0,0,.18);}
.jw-rv-gcell:active{background:var(--jw-rv-tint)!important;transform:scale(.97);}
.jw-rv-gcell.is-hidden{display:none;}
.jw-rv-gcell img,.jw-rv-gcell video{transition:transform .3s;}
.jw-rv-gcell:hover img,.jw-rv-gcell:hover video{transform:scale(1.05);}
.jw-rv-gcell--video::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.2);pointer-events:none;}
.jw-rv-more-badge{position:absolute;inset:0;background:rgba(15,20,30,.62);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;text-align:center;padding:6px;pointer-events:none;}
/* Overflow → one larger dark "+X תמונות" tile (summary gallery, spans 2 rows) */
.jw-rv-gmore{
	position:relative;grid-row:1 / span 2;padding:0!important;border:0!important;
	border-radius:var(--jw-rv-radius)!important;background:var(--jw-rv-accent)!important;
	overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s;
}
.jw-rv-gmore:hover{background:var(--jw-rv-accent)!important;box-shadow:0 6px 18px rgba(0,0,0,.25);}
.jw-rv-gmore:active{background:var(--jw-rv-accent)!important;transform:scale(.97);}
.jw-rv-gmore img{opacity:1;transition:transform .3s,opacity .3s;}
.jw-rv-gmore:hover img{transform:scale(1.05);opacity:.85;}
.jw-rv-gmore-txt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:16px;text-align:center;background:linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,.45));padding:8px;text-shadow:0 1px 4px rgba(0,0,0,.6);pointer-events:none;}

/* ==========================================================================
   Rating badge shortcode [jett_woo_reviews_rating]
   ========================================================================== */
.jw-rv-rating-badge{
	display:inline-flex!important;align-items:center;gap:7px;
	padding:4px 0!important;border:0!important;border-radius:0!important;
	background:none!important;box-shadow:none!important;
	color:var(--jw-rv-ink)!important;line-height:1.3!important;
	cursor:pointer;direction:rtl;
}
.jw-rv-rating-badge:hover,.jw-rv-rating-badge:focus,.jw-rv-rating-badge:active{
	background:none!important;box-shadow:none!important;border:0!important;color:var(--jw-rv-ink)!important;
}
.jw-rv-rating-badge .jw-rv-stars-f{font-size:17px;}
.jw-rv-rating-num,.jw-rv-rating-badge:hover .jw-rv-rating-num,.jw-rv-rating-badge:focus .jw-rv-rating-num{font-weight:700;font-size:15px;color:var(--jw-rv-ink)!important;}
.jw-rv-rating-dot{color:#999;}
.jw-rv-rating-count{font-size:14px;color:var(--jw-rv-muted);text-decoration:underline;text-underline-offset:3px;transition:color .15s;}
.jw-rv-rating-badge:hover .jw-rv-rating-count,.jw-rv-rating-badge:focus .jw-rv-rating-count{color:var(--jw-rv-ink);}

/* ==========================================================================
   Lightbox
   ========================================================================== */
.jw-rv-lightbox{position:fixed;inset:0;z-index:2147482400;background:rgba(17,17,17,.55);-webkit-backdrop-filter:blur(10px) saturate(1.05);backdrop-filter:blur(10px) saturate(1.05);display:flex;align-items:center;justify-content:center;padding:20px;}
.jw-rv-lightbox[hidden]{display:none!important;}
.jw-rv-lb-media{max-width:min(760px,92vw);max-height:82vh;display:flex;align-items:center;justify-content:center;}
.jw-rv-lb-media img,.jw-rv-lb-media video{width:auto!important;height:auto!important;max-width:100%!important;max-height:82vh!important;border-radius:12px!important;background:#000;object-fit:contain;}
.jw-rv-lb-close,.jw-rv-lb-nav{
	position:absolute;display:flex!important;align-items:center;justify-content:center;
	padding:0!important;border:0!important;border-radius:50%!important;
	background:rgba(255,255,255,.14)!important;color:#fff!important;
	font-size:22px!important;line-height:1!important;cursor:pointer;
	transition:background .15s,transform .1s;
}
.jw-rv-lb-close{top:18px;inset-inline-start:20px;width:42px!important;height:42px!important;}
.jw-rv-lb-nav{top:50%;transform:translateY(-50%);width:46px!important;height:46px!important;}
.jw-rv-lb-close:hover,.jw-rv-lb-close:focus{background:rgba(255,255,255,.3)!important;color:#fff!important;}
.jw-rv-lb-close:active{background:rgba(255,255,255,.42)!important;color:#fff!important;transform:scale(.94);}
.jw-rv-lb-nav:hover,.jw-rv-lb-nav:focus{background:rgba(255,255,255,.32)!important;color:#fff!important;}
.jw-rv-lb-nav:active{background:rgba(255,255,255,.45)!important;color:#fff!important;transform:translateY(-50%) scale(.94);}
.jw-rv-lb-prev{right:18px;left:auto;}
.jw-rv-lb-next{left:18px;right:auto;}
.jw-rv-lb-caption{position:absolute;bottom:22px;inset-inline:0;margin:auto;max-width:600px;color:#fff;text-align:center;font-size:14px;padding:0 16px;}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:900px){.jw-rv-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:820px){
	/* .has-cats.has-media is 0,3,0 — it outranks a bare .has-cats here, so the
	   combined selector must be listed or the desktop 3-column layout survives
	   into mobile and collapses the media column to 0px. */
	.jw-rv-summary-grid.has-cats,.jw-rv-summary-grid.has-media,
	.jw-rv-summary-grid.has-cats.has-media{grid-template-columns:1fr;gap:22px;}
	.jw-rv-dist{max-width:none;}
	.jw-rv-cats-box{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
	.jw-rv-grid{grid-template-columns:1fr;gap:24px;}
	.jw-rv-gallery{grid-template-columns:repeat(2,1fr);}
	.jw-rv-cats-box{grid-template-columns:1fr 1fr;}
	.jw-rv-all-toolbar{flex-wrap:wrap;}
	.jw-rv-sort{flex:0 0 auto;}
}
@media (prefers-reduced-motion:reduce){
	.jw-rv *,.jw-rv-modal *,.jw-rv-lightbox *,.jw-rv-gallery *{transition-duration:.01ms!important;}
	.jw-rv-si:hover,.jw-rv-gcell:active,.jw-rv-media-cell:active,.jw-rv-gmore:active{transform:none!important;}
}

/* ==========================================================================
   Reviews wall — [jett_woo_reviews_wall]
   Store-wide review cards that link to the product they are about.
   Every colour comes from the design tab's variables; nothing is hard-coded
   here that the palette does not already control.
   ========================================================================== */
.jw-rvw{
	--jw-rv-accent:#111;--jw-rv-star:#111;--jw-rv-star-off:#dcdcdc;
	--jw-rv-ink:#111;--jw-rv-text:#333;--jw-rv-muted:#777;
	--jw-rv-line:#e8e8e8;--jw-rv-surface:#fff;--jw-rv-radius:10px;
	direction:rtl;margin:24px 0;font-family:inherit;color:var(--jw-rv-text);
}
.jw-rvw *{box-sizing:border-box;}
.jw-rvw-title{margin:0 0 18px;font-size:22px;font-weight:600;color:var(--jw-rv-ink);}

/* stretch: every card in a row takes the row's height; the product strip's
   margin-top:auto then pins it to the bottom so the strips line up too. */
.jw-rvw-grid{display:grid;grid-template-columns:repeat(var(--jw-rvw-cols,3),minmax(0,1fr));gap:18px;align-items:stretch;}

/* --- card --- */
.jw-rvw-card{
	display:flex;flex-direction:column;gap:10px;min-width:0;
	padding:18px;border:1px solid var(--jw-rv-line);border-radius:var(--jw-rv-radius);
	background:var(--jw-rv-surface);color:inherit;text-decoration:none!important;
	transition:border-color .15s ease,transform .15s ease;
}
a.jw-rvw-card:hover,a.jw-rvw-card:focus-visible{border-color:var(--jw-rv-ink);transform:translateY(-2px);}
a.jw-rvw-card:focus-visible{outline:2px solid var(--jw-rv-accent);outline-offset:2px;}

.jw-rvw-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.jw-rvw-stars{color:var(--jw-rv-star);font-size:14px;letter-spacing:1px;line-height:1;direction:rtl;}
.jw-rvw-date{font-size:12px;color:var(--jw-rv-muted);}

.jw-rvw-body{
	margin:0;font-size:14px;line-height:1.6;color:var(--jw-rv-text);
	display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
}
.jw-rvw-author{font-size:13px;font-weight:600;color:var(--jw-rv-ink);}

.jw-rvw-shot{display:block;border-radius:calc(var(--jw-rv-radius) - 2px);overflow:hidden;}
.jw-rvw-shot img{display:block;width:100%;height:140px;object-fit:cover;}

/* --- product strip --- */
.jw-rvw-prod{
	display:flex;align-items:center;gap:10px;margin-top:auto;
	padding-top:12px;border-top:1px solid var(--jw-rv-line);
}
.jw-rvw-prod__img{
	flex:0 0 40px;width:40px;height:40px;border-radius:8px;object-fit:cover;
	background:var(--jw-rv-line);
}
.jw-rvw-prod__img--ph{display:block;}
.jw-rvw-prod__name{
	font-size:13px;line-height:1.35;color:var(--jw-rv-ink);min-width:0;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* --- load more --- */
.jw-rvw-more-wrap{display:flex;justify-content:center;margin-top:22px;}
.jw-rvw-more{
	padding:11px 26px!important;border:1px solid var(--jw-rv-ink)!important;
	border-radius:var(--jw-rv-radius)!important;background:transparent!important;
	color:var(--jw-rv-ink)!important;font:inherit!important;font-size:14px!important;
	font-weight:600!important;line-height:1.2!important;cursor:pointer;
	text-transform:none!important;letter-spacing:normal!important;
	box-shadow:none!important;text-shadow:none!important;width:auto!important;height:auto!important;
	min-width:0!important;min-height:0!important;transition:background .15s,color .15s;
}
.jw-rvw-more:hover{background:var(--jw-rv-ink)!important;color:var(--jw-rv-surface)!important;}
.jw-rvw-more[disabled]{opacity:.55;cursor:default;}

/* --- slider --- */
.jw-rvw-sliderwrap{position:relative;}
.jw-rvw-track{
	display:grid;grid-auto-flow:column;
	grid-auto-columns:calc((100% - (var(--jw-rvw-cols,3) - 1) * 18px) / var(--jw-rvw-cols,3));
	gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;
	scroll-behavior:smooth;scrollbar-width:none;padding-bottom:4px;
}
.jw-rvw-track::-webkit-scrollbar{display:none;}
.jw-rvw-track>.jw-rvw-card{scroll-snap-align:start;}
.jw-rvw-nav{
	position:absolute;top:50%;transform:translateY(-50%);z-index:2;
	width:38px!important;height:38px!important;min-width:0!important;min-height:0!important;
	padding:0!important;border:1px solid var(--jw-rv-line)!important;border-radius:50%!important;
	background:var(--jw-rv-surface)!important;cursor:pointer;
	box-shadow:0 1px 6px rgba(0,0,0,.10)!important;transition:opacity .15s,border-color .15s;
}
.jw-rvw-nav:hover{border-color:var(--jw-rv-ink)!important;}
.jw-rvw-nav::before{
	content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;
	border-top:2px solid var(--jw-rv-ink);border-left:2px solid var(--jw-rv-ink);
}
/* RTL strip: "previous" is to the right, "next" to the left. */
.jw-rvw-nav--prev{right:4px;}
.jw-rvw-nav--next{left:4px;}
.jw-rvw-nav--prev::before{transform:translate(-50%,-50%) rotate(135deg);margin-left:-2px;}
.jw-rvw-nav--next::before{transform:translate(-50%,-50%) rotate(-45deg);margin-left:2px;}
.jw-rvw-nav[hidden]{display:none!important;}

@media (max-width:900px){
	.jw-rvw-grid,.jw-rvw-track{--jw-rvw-cols:var(--jw-rvw-cols-m,1);}
	.jw-rvw-grid{grid-template-columns:repeat(var(--jw-rvw-cols-m,1),minmax(0,1fr));}
	.jw-rvw-track{grid-auto-columns:calc((100% - (var(--jw-rvw-cols-m,1) - 1) * 18px) / var(--jw-rvw-cols-m,1));}
	.jw-rvw-nav--prev{right:2px;}
	.jw-rvw-nav--next{left:2px;}
}
@media (prefers-reduced-motion:reduce){
	.jw-rvw-track{scroll-behavior:auto;}
	a.jw-rvw-card:hover{transform:none;}
}

/* One review per person per product: the CTA says so and stops inviting a
   submit the server is going to refuse (Ben, Sep 2026). Quiet, not alarming —
   this is a normal end state, not an error. */
.jw-rv-write.is-done,
.jw-rv-write:disabled,
.jw-rv-write[disabled] {
	border-color: var(--jw-rv-line, #e5e5e5) !important;
	background: var(--jw-rv-surface, #fff) !important;
	color: var(--jw-rv-muted, #8b8b8b) !important;
	cursor: default !important;
	opacity: 1 !important;
}

.jw-rv-write.is-done:hover,
.jw-rv-write.is-done:focus,
.jw-rv-write:disabled:hover,
.jw-rv-write:disabled:focus {
	border-color: var(--jw-rv-line, #e5e5e5) !important;
	background: var(--jw-rv-surface, #fff) !important;
	color: var(--jw-rv-muted, #8b8b8b) !important;
	transform: none !important;
}

.jw-rv-write.is-done:active,
.jw-rv-write:disabled:active { transform: none !important; background: var(--jw-rv-surface, #fff) !important; }

/* ---------- Video compression (in-browser, before upload) ---------- */

/* Encoding runs in real time, so the form spends a visible stretch busy. The
   submit button is already disabled in JS; this is what says why. */
.jw-rv-form.is-encoding .jw-rv-form-msg {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.jw-rv-form.is-encoding .jw-rv-form-msg::before {
	content: "";
	width: 14px;
	height: 14px;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: jw-rv-spin .8s linear infinite;
	flex: 0 0 auto;
}

@keyframes jw-rv-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
	.jw-rv-form.is-encoding .jw-rv-form-msg::before { animation-duration: 3s; }
}

.jw-rv-upload.is-disabled {
	opacity: .5;
	pointer-events: none;
}

.jw-rv-form.is-encoding .jw-rv-submit {
	opacity: .6;
	cursor: default;
}

/* wall product avatar: beat theme .post .wp-post-image */
.jw-rvw-prod img.jw-rvw-prod__img{width:40px;height:40px;max-height:40px;object-fit:cover;}

/* limit_mobile: hold back extra cards on phones until "load more" reveals them */
@media (max-width:767.98px){.jw-rvw:not(.jw-rvw--xm-shown) .jw-rvw-card--xm{display:none;}}
@media (min-width:768px){.jw-rvw-more[data-fetch="0"]{display:none;}}
