/* RJ Premium Layouty 6.2 — separate WooCommerce layout collection */
body.page--layouts,
body.page--layout-product{--acid:#2563eb;background:#f2f2f2;color:#0b0b0b;overflow-x:clip}
body.page--layouts .main,
body.page--layout-product .main{background:#f2f2f2 !important;min-width:0;padding-top:0 !important}
.rj-layouts-shell{width:min(1440px,calc(100% - 96px));margin:0 auto}
.rj-layouts-hero,.rj-layout-product-hero{position:relative;padding:clamp(160px,15vw,245px) 0 clamp(64px,8vw,122px);background-color:#f2f2f2;color:#0b0b0b}
.rj-layouts-hero::before,.rj-layout-product-hero::before,.rj-layouts-catalog::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(11,11,11,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(11,11,11,.035) 1px,transparent 1px);background-size:76px 76px;opacity:.7}
.rj-layouts-hero>.rj-layouts-shell,.rj-layout-product-hero>.rj-layouts-shell,.rj-layouts-catalog>.rj-layouts-shell{position:relative}
.rj-layouts-eyebrow{color:var(--acid);font:400 11px/1.6 "Audiowide",sans-serif;letter-spacing:.09em;text-transform:uppercase;margin-bottom:clamp(30px,5vw,76px)}
.rj-layouts-hero h1,.rj-layout-product-hero h1{max-width:100%;overflow-wrap:anywhere;margin:0;color:#0b0b0b;font:400 clamp(48px,8vw,132px)/.99 "Audiowide",sans-serif;text-transform:uppercase;letter-spacing:-.03em}
.rj-layouts-hero h1 span{color:var(--acid)}
.rj-layouts-intro,.rj-layout-product-intro{border-top:1px solid rgba(11,11,11,.2);margin-top:clamp(40px,7vw,95px);padding-top:26px;display:flex;align-items:flex-start;justify-content:space-between;gap:50px}
.rj-layouts-intro p,.rj-layout-product-intro p{margin:0;max-width:690px;color:#505050;font-size:clamp(15px,1.35vw,22px);line-height:1.6}
.rj-layouts-intro span,.rj-layout-product-intro span{font:400 10px/1.5 "Audiowide",sans-serif;letter-spacing:.08em;white-space:nowrap}
.rj-layouts-catalog{position:relative;padding:0 0 clamp(90px,12vw,190px);background:#f2f2f2}
.rj-layouts-counter{border-top:1px solid rgba(11,11,11,.2);padding:18px 0 30px;display:flex;justify-content:space-between;gap:16px;color:#555;font:400 10px/1.6 "Audiowide",sans-serif}
.rj-layouts-counter span:first-child{color:var(--acid)}
.rj-layouts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,5vw,86px) clamp(18px,2.5vw,38px)}
.rj-layout-card{min-width:0}
.rj-layout-card__visual{position:relative;aspect-ratio:4/3;padding:clamp(12px,2vw,32px);border:1px solid rgba(0,0,0,.17);background:#e7e7e5;overflow:hidden;display:grid;place-items:center}
.rj-layout-card__visual>img{display:block;width:100%;height:100%;object-fit:contain}
.rj-layout-no-image{font:400 clamp(20px,4vw,54px)/1.12 "Audiowide",sans-serif;color:#b5b5b5;text-align:center}
.rj-layout-index{position:absolute;top:16px;left:16px;min-width:58px;height:58px;padding:0 10px;background:#2563eb;color:#fff;display:grid;place-items:center;z-index:2;font:400 12px "Audiowide",sans-serif}
.rj-layout-card__overlay{position:absolute;right:15px;bottom:15px;z-index:2}
.rj-layout-preview,.rj-layout-buy{border:0;background:#2563eb;color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:clamp(15px,2vw,40px);padding:19px 22px;font:400 10px/1.4 "Audiowide",sans-serif;letter-spacing:.03em;text-decoration:none;cursor:pointer;text-transform:uppercase;transition:background .18s ease}
.rj-layout-preview:hover,.rj-layout-buy:hover{background:#0b0b0b;color:#fff}
.rj-layout-card__meta{display:flex;justify-content:space-between;gap:12px;margin-top:22px;color:var(--acid);font:400 10px/1.5 "Audiowide",sans-serif;text-transform:uppercase}
.rj-layout-card__meta span+span{color:#666}
.rj-layout-card h2{margin:28px 0 10px;font:400 clamp(24px,2.8vw,46px)/1.1 "Audiowide",sans-serif;overflow-wrap:anywhere;text-transform:uppercase}
.rj-layout-card h2 a{color:#2563eb;text-decoration:none}
.rj-layout-card h2 a:hover{color:#0b0b0b}
.rj-layout-card__excerpt{color:#565656;font-size:clamp(14px,1.2vw,18px);line-height:1.6;margin:0 0 24px}
.rj-layout-card__bottom{border-top:1px solid rgba(0,0,0,.18);display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 0}
.rj-layout-price{font:400 clamp(17px,2vw,27px)/1.3 "Audiowide",sans-serif;color:#101010}
.rj-layout-details{color:#0b0b0b;font:400 10px "Audiowide",sans-serif;text-decoration:underline;text-decoration-color:#2563eb;text-underline-offset:8px;white-space:nowrap}
.rj-layout-details span{color:#2563eb}
.rj-layouts-notice{padding:45px 0;font-size:18px;color:#555}
.rj-layouts-pagination{display:flex;gap:16px;justify-content:center;padding:55px 0 0}
.rj-layouts-pagination a,.rj-layouts-pagination span{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #bcbcbc;color:#0b0b0b;text-decoration:none}
.rj-layouts-pagination .current{background:#2563eb;color:#fff;border-color:#2563eb}
.rj-layout-back{display:inline-block;margin:0 0 64px;color:#2563eb;font:400 10px "Audiowide",sans-serif;text-decoration:none}
.rj-layout-product-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);align-items:start;gap:clamp(26px,5vw,90px)}
.rj-layout-product-details{padding:clamp(24px,4vw,55px) 0 clamp(90px,9vw,160px);background:#f2f2f2}
.rj-layout-product-gallery{min-width:0;display:flex;flex-direction:column;gap:18px}
.rj-layout-product-shot{background:#e8e8e6;border:1px solid rgba(0,0,0,.13);padding:clamp(12px,2.2vw,36px);display:grid;place-items:center;min-height:320px}
.rj-layout-product-shot img{width:100%;max-height:900px;height:auto;object-fit:contain}
.rj-layout-product-shot--empty{color:#a2a2a2;font:400 25px "Audiowide",sans-serif}
.rj-layout-product-mobile{max-width:min(400px,70%);margin:0 auto}
.rj-layout-product-mobile img{width:100%;height:auto;display:block}
.rj-layout-preview--wide{width:100%}
.rj-layout-product-purchase{position:sticky;top:95px;border:1px solid rgba(0,0,0,.15);background:#fff;padding:clamp(20px,3vw,42px);min-width:0}
.rj-layout-product-purchase__label{font:400 9px "Audiowide",sans-serif;color:#2563eb}
.rj-layout-product-purchase h2{margin:45px 0 35px;font:400 clamp(18px,2.4vw,32px)/1.2 "Audiowide",sans-serif}
.rj-layout-product-purchase h2 em{font-style:normal;color:#2563eb}
.rj-layout-product-price{font:400 clamp(20px,2.5vw,36px) "Audiowide",sans-serif;border-top:1px solid #ddd;padding-top:24px;margin-bottom:22px}
.rj-layout-buy{display:flex;width:100%;padding:22px;white-space:nowrap}
.rj-layout-live{display:inline-block;margin:18px 0 28px;color:#0b0b0b;text-decoration:underline;text-decoration-color:#2563eb;text-underline-offset:7px;font:400 10px "Audiowide",sans-serif}
.rj-layout-product-purchase h3{font:400 12px "Audiowide",sans-serif;margin:48px 0 22px}
.rj-layout-product-purchase ul{padding:0;margin:0;list-style:none}
.rj-layout-product-purchase li{padding:13px 0;border-top:1px solid #e2e2e2;color:#444;line-height:1.5}
.rj-layout-product-purchase li:before{content:'+';color:#2563eb;margin-right:12px}
.rj-layout-product-note{color:#666;font-size:12px;line-height:1.65;margin-top:40px}
.rj-layout-product-description{background:#f2f2f2;padding:0 0 120px}
.rj-layout-product-description__body{border-top:1px solid #ccc;padding:35px 0;max-width:100%;font-size:18px;line-height:1.7}
.rj-layout-product-description__body img{max-width:100%;height:auto}
/* Fullscreen static/video media preview — never embeds customer-demo HTML. */
.rj-layout-dialog{position:fixed;inset:0;box-sizing:border-box;width:min(1400px,calc(100vw - 28px));max-width:1400px;max-height:94dvh;margin:auto;padding:0;border:1px solid #333;border-top:3px solid #2563eb;color:#f2f2f2;background:#0b0b0b;box-shadow:0 40px 100px rgba(0,0,0,.7)}
.rj-layout-dialog::backdrop{background:rgba(0,0,0,.86);backdrop-filter:blur(4px)}
.rj-layout-dialog__head{display:flex;align-items:center;justify-content:space-between;padding:0 0 0 clamp(14px,2vw,28px);border-bottom:1px solid #333;font:400 11px "Audiowide",sans-serif;gap:18px}
.rj-layout-dialog__head span{overflow-wrap:anywhere}
.rj-layout-dialog-close{width:58px;height:58px;flex:none;color:#fff;background:#161616;border:0;border-left:1px solid #333;font-size:30px;cursor:pointer}
.rj-layout-dialog-close:hover{background:#2563eb}
.rj-layout-dialog__switches{display:flex;justify-content:center;gap:10px;padding:12px;border-bottom:1px solid #333}
.rj-layout-dialog__switches button{padding:10px 15px;background:#181818;border:1px solid #444;color:#fff;cursor:pointer;font:400 10px "Audiowide",sans-serif}
.rj-layout-dialog__switches button[aria-pressed="true"]{background:#2563eb;border-color:#2563eb}
.rj-layout-dialog__switches button[hidden]{display:none}
.rj-layout-dialog__body{height:min(70dvh,850px);min-height:120px;display:grid;place-items:center;overflow:auto;padding:clamp(10px,2vw,30px)}
.rj-layout-dialog__body img,.rj-layout-dialog__body video{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.rj-layout-dialog__body img[hidden],.rj-layout-dialog__body video[hidden]{display:none}
.rj-layout-dialog__note{font-size:11px;color:#bdbdbd;padding:14px 26px;margin:0;border-top:1px solid #333}
@media(max-width:950px){.rj-layouts-shell{width:calc(100% - 44px)}.rj-layout-product-grid{grid-template-columns:1fr}.rj-layout-product-purchase{position:static}}
@media(max-width:700px){.rj-layouts-shell{width:calc(100% - 28px)}.rj-layouts-hero,.rj-layout-product-hero{padding-top:135px;padding-bottom:66px}.rj-layouts-hero h1,.rj-layout-product-hero h1{font-size:clamp(37px,10vw,70px)}.rj-layouts-eyebrow{font-size:9px}.rj-layouts-intro,.rj-layout-product-intro{flex-direction:column;gap:22px;margin-top:48px}.rj-layouts-intro span,.rj-layout-product-intro span{white-space:normal}.rj-layouts-grid{grid-template-columns:1fr}.rj-layouts-counter{font-size:9px}.rj-layout-card__meta{font-size:8px}.rj-layout-index{top:12px;left:12px;width:45px;min-width:45px;height:45px}.rj-layout-preview{padding:14px;font-size:9px}.rj-layout-product-shot{min-height:190px}.rj-layout-dialog__body{height:67dvh}.rj-layout-dialog__note{font-size:10px}.rj-layout-dialog__head{font-size:9px}}
@media(prefers-reduced-motion:reduce){.rj-layout-preview,.rj-layout-buy{transition:none}}
/* ==========================================================
   RJ Premium v6.4 — screenshot-only visual viewport
   A long image scrolls inside a simulated browser frame.
   No iframe or private-preview service is needed.
   ========================================================== */
.rj-layout-dialog[open]{
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  width:min(1480px,calc(100vw - 32px));
  max-width:1480px;
  height:min(92dvh,960px);
  max-height:calc(100dvh - 16px);
  overflow:hidden;
}
.rj-layout-dialog__head-actions{display:flex;align-items:stretch;flex:none;height:58px}
.rj-layout-dialog-expand{width:58px;height:58px;flex:none;background:#151515;color:#fff;border:0;border-left:1px solid #333;font-size:26px;cursor:pointer;line-height:1}
.rj-layout-dialog-expand:hover,.rj-layout-dialog-expand[aria-pressed="true"]{background:#2563eb;color:#fff}
.rj-layout-dialog button:focus-visible,.rj-layout-viewport__scroll:focus-visible{outline:2px solid #70a7ff;outline-offset:-3px}
.rj-layout-dialog.rj-layout-dialog--fullscreen[open]{
  inset:0;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-top:3px solid #2563eb;
}
.rj-layout-dialog__body{
  min-height:0 !important;height:auto !important;
  display:flex !important;justify-content:center;align-items:stretch;
  gap:0;overflow:hidden !important;
  padding:clamp(8px,1.5vw,22px) !important;background:#0c0e13;
}
.rj-layout-viewport{
  --device-width:1280px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  width:min(100%,var(--device-width));
  height:100%;min-height:0;
  border:1px solid rgba(255,255,255,.23);
  box-shadow:0 18px 65px rgba(0,0,0,.5);
  background:#f2f2f2;
  overflow:hidden;
  transition:width .23s ease;
}
.rj-layout-viewport[data-layout-device="tablet"]{--device-width:768px}
.rj-layout-viewport[data-layout-device="mobile"]{--device-width:390px}
.rj-layout-browserbar{
  height:36px;min-height:36px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:0 14px;
  background:#18191d;color:#c6c6c9;border-bottom:1px solid #393a40;
  font:400 8px/1.3 "Audiowide",sans-serif;letter-spacing:.09em;
}
.rj-layout-browserdots{font:11px/1 sans-serif;letter-spacing:.18em;color:#8b8c92}
.rj-layout-browserpad{width:40px;flex:none}
.rj-layout-viewport__scroll{
  display:block;
  flex:1;min-height:0;
  overflow-x:hidden;overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-color:#2563eb #e2e2e2;
  scrollbar-width:thin;
  background:#f2f2f2;
}
.rj-layout-viewport__scroll #rj-layout-dialog-image{
  display:block !important;width:100% !important;max-width:none !important;
  height:auto !important;max-height:none !important;
  margin:0 !important;padding:0 !important;
  border:0 !important;object-fit:initial !important;
  user-select:none;-webkit-user-drag:none;
}
.rj-layout-viewport[hidden],.rj-layout-video-panel[hidden],.rj-layout-dialog__error[hidden]{display:none !important}
.rj-layout-video-panel{width:min(1200px,100%);height:100%;display:grid;place-items:center}
.rj-layout-video-panel video{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#000}
.rj-layout-dialog__error{align-self:center;max-width:600px;color:#f2f2f2;font-size:14px;text-align:center;line-height:1.65}
.rj-layout-dialog__note{font-size:10px;line-height:1.5;padding:11px 20px;flex:none;min-height:0}
.rj-layout-dialog__switches{min-width:0;flex-wrap:wrap;gap:8px;padding:10px}
.rj-layout-dialog__switches button{white-space:nowrap}
.rj-layout-dialog__switches button[hidden]{display:none!important}
@media(max-width:700px){
  .rj-layout-dialog[open]{width:calc(100vw - 10px);height:calc(100dvh - 20px);max-height:calc(100dvh - 10px)}
  .rj-layout-dialog__body{padding:8px !important}
  .rj-layout-browserbar{height:30px;min-height:30px;padding:0 8px;font-size:7px}
  .rj-layout-browserpad{width:18px}
  .rj-layout-dialog__head-actions,.rj-layout-dialog-close,.rj-layout-dialog-expand{height:48px}
  .rj-layout-dialog-close,.rj-layout-dialog-expand{width:48px}
  .rj-layout-dialog__switches{gap:5px}
  .rj-layout-dialog__switches button{padding:9px 10px;font-size:8px}
  .rj-layout-dialog__note{padding:8px 12px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){.rj-layout-viewport{transition:none}}
