/* =========================================================
   Studio387 — Ninium Widgets
   Vrijednosti dolaze iz Elementor kontrola preko CSS varijabli;
   ovdje su samo fallbackovi i struktura.
   ========================================================= */

/* ---------------------------------------------------------
   Ninium proizvodi
   --------------------------------------------------------- */
.nn-products{
  display:grid;
  grid-template-columns:repeat(var(--nn-prod-cols,7),minmax(0,1fr));
  gap:var(--nn-prod-gap,14px);
  width:100%;
  font-family:'Archivo',sans-serif;
}
.nn-products .nn-prod-card{
  display:flex;flex-direction:column;gap:12px;
  padding:12px 12px 18px;
  background:var(--nn-prod-bg,#fff);
  border:1px solid var(--nn-prod-border,#E8E4E2);
  border-radius:var(--nn-prod-radius,18px);
  color:inherit;
  text-decoration:none !important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.nn-products--lift .nn-prod-card:hover{
  transform:translateY(-3px);
  border-color:#D9D2CF;
  box-shadow:0 14px 30px rgba(58,10,33,.08);
}
.nn-products .nn-prod-media{
  aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  background:var(--nn-prod-media-bg,#fff);
  border-radius:calc(var(--nn-prod-radius,18px) - 6px);
}
.nn-products .nn-prod-media img{
  display:block;width:100%;height:100%;
  object-fit:contain;
  border-radius:0;box-shadow:none;
}
.nn-products .nn-prod-name{
  margin:0 !important;padding:0 4px;
  font-family:inherit;
  font-size:var(--nn-prod-name-size,14px);
  font-weight:800;
  line-height:1.2;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--nn-prod-name,#3A0A21);
}
.nn-products .nn-prod-desc{
  margin:0 !important;padding:0 4px;
  font-size:var(--nn-prod-desc-size,13px);
  font-weight:400;
  line-height:1.55;
  color:var(--nn-prod-desc,#4A2436);
}

/* Krug: jedan proizvod u krugu u sredini, ostali na eliptičnom prstenu oko njega.
   Pozicija ide preko .nn-prod-slot (transform), da ne smeta pojavljivanju i hoveru same kartice.
   Ispod 1025px raspored pada na mrežu sa proizvodom iz sredine na vrhu. */
.nn-products--orbit{
  position:relative;
  display:block;
  height:var(--nn-orbit-h,720px);
  max-width:1180px;
  margin:0 auto 26px;
  --nn-orbit-rx:42%;
  --nn-orbit-ry:33%;
}
.nn-products--orbit::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 34% 40% at 50% 50%,rgba(255,255,255,.75),rgba(255,255,255,0) 100%);
}
.nn-orbit-ring{
  position:absolute;
  left:calc(50% - var(--nn-orbit-rx));
  top:calc(50% - var(--nn-orbit-ry));
  width:calc(var(--nn-orbit-rx) * 2);
  height:calc(var(--nn-orbit-ry) * 2);
  border:1.5px dashed #C4BAB6;
  border-radius:50%;
  pointer-events:none;
}
.nn-products--orbit .nn-prod-slot{
  position:absolute;z-index:2;
  left:calc(50% + var(--nn-orbit-rx) * var(--cx,0));
  top:calc(50% + var(--nn-orbit-ry) * var(--cy,0));
  width:208px;
  transform:translate(-50%,-50%);
}
.nn-products--orbit .nn-prod-slot .nn-prod-card{height:100%;}
.nn-products--orbit .nn-prod-card{align-items:center;text-align:center;padding:0 6px 6px;background:none;border:0;border-radius:0;box-shadow:none;}
.nn-products--orbit .nn-prod-media{background:none;border-radius:0;}
.nn-products--orbit .nn-prod-media img{filter:none;transition:transform .3s ease;}
/* mekana sjena "poda" ispod pakovanja (drop-shadow filter je crtao pravougaonik oko slike, jer pakovanja imaju gotovo providne piksele) */
.nn-products--orbit .nn-prod-slot:not(.nn-prod-slot--center) .nn-prod-media{position:relative;}
.nn-products--orbit .nn-prod-slot:not(.nn-prod-slot--center) .nn-prod-media::after{content:"";position:absolute;left:18%;right:18%;bottom:-4px;height:14px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(33,16,24,.12) 0%,rgba(33,16,24,0) 70%);pointer-events:none;z-index:-1;}
.nn-products--orbit.nn-products--lift .nn-prod-card:hover{transform:none;box-shadow:none;border-color:transparent;background:none;}
.nn-products--orbit.nn-products--lift .nn-prod-slot:not(.nn-prod-slot--center) .nn-prod-card:hover .nn-prod-media img{transform:translateY(-6px);}
.nn-orbit-ring{display:none;}
.nn-products--orbit .nn-prod-slot:not(.nn-prod-slot--center) .nn-prod-media{width:100%;aspect-ratio:auto;height:170px;}
.nn-products--orbit .nn-prod-card{gap:3px;}
.nn-products--orbit .nn-prod-media{margin-bottom:12px;}
.nn-products--orbit .nn-prod-name{font-size:calc(var(--nn-prod-name-size,14px) + 5px);letter-spacing:.14em;}
.nn-products--orbit .nn-prod-name,.nn-products--orbit .nn-prod-desc{text-align:center;padding:0 8px;}
.nn-products--orbit .nn-prod-slot--center{left:50%;top:50%;width:300px;z-index:3;}
.nn-products--orbit .nn-prod-card--center{
  align-items:center;text-align:center;gap:3px;
  padding:0;background:none;border:0;border-radius:0;box-shadow:none;
}
.nn-products--orbit .nn-prod-card--center .nn-prod-media{
  width:270px;height:270px;aspect-ratio:auto;flex:0 0 auto;
  border-radius:50%;
  background:var(--nn-prod-bg,#fff);
  border:1px solid var(--nn-prod-border,#E8E4E2);
  box-shadow:0 0 0 10px rgba(255,255,255,.6),0 34px 60px rgba(33,16,24,.16);
}
.nn-products--orbit .nn-prod-card--center .nn-prod-media img{padding:18px;}
.nn-products--orbit .nn-prod-card--center .nn-prod-media{transition:transform .25s ease,box-shadow .25s ease;}
.nn-products--orbit.nn-products--lift .nn-prod-card--center:hover{transform:none;box-shadow:none;border-color:transparent;}
.nn-products--orbit.nn-products--lift .nn-prod-card--center:hover .nn-prod-media{transform:translateY(-4px);box-shadow:0 0 0 10px rgba(255,255,255,.6),0 40px 66px rgba(33,16,24,.2);}
.nn-products--orbit .nn-prod-card--center .nn-prod-name{margin-top:18px !important;font-size:calc(var(--nn-prod-name-size,14px) + 9px);}
.nn-products--orbit .nn-prod-card--center .nn-prod-desc{max-width:250px;font-size:calc(var(--nn-prod-desc-size,13px) + 2px);}
@media(max-width:1024px){
  .nn-products--orbit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--nn-prod-gap,14px);height:auto;max-width:none;}
  .nn-products--orbit::before,.nn-orbit-ring{display:none;}
  .nn-products--orbit .nn-prod-slot,.nn-products--orbit .nn-prod-slot--center{position:static;transform:none;width:auto;}
  .nn-products--orbit .nn-prod-slot:not(.nn-prod-slot--center) .nn-prod-media{width:100%;height:auto;aspect-ratio:1/1;}
  .nn-products--orbit .nn-prod-slot--center{grid-column:1/-1;order:-1;display:flex;justify-content:center;margin-bottom:26px;}
  .nn-products--orbit .nn-prod-slot--center .nn-prod-card{height:auto;}
  .nn-products--orbit .nn-prod-card--center .nn-prod-media{width:230px;height:230px;}
}
@media(max-width:767px){
  .nn-products--orbit{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* ---------------------------------------------------------
   Ninium Magazine
   --------------------------------------------------------- */
.nn-mag{
  display:grid;
  grid-template-columns:repeat(var(--nn-mag-cols,3),minmax(0,1fr));
  gap:var(--nn-mag-gap,24px);
  width:100%;
  font-family:'Archivo',sans-serif;
}
.nn-mag .nn-mag-card{
  display:flex;flex-direction:column;
  overflow:hidden;
  background:var(--nn-mag-bg,#fff);
  border:1px solid var(--nn-mag-border,#E6E1DF);
  border-radius:var(--nn-mag-radius,18px);
  color:inherit;
  text-decoration:none !important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.nn-mag .nn-mag-card:hover{
  transform:translateY(-3px);
  border-color:#D9D2CF;
  box-shadow:0 14px 30px rgba(58,10,33,.08);
}
.nn-mag .nn-mag-media{
  height:var(--nn-mag-img-h,200px);
  overflow:hidden;
  background:#F1EEEC;
}
.nn-mag .nn-mag-media img{
  display:block;width:100%;height:100%;
  object-fit:cover;
  object-position:var(--nn-mag-focus,50% 25%);
  border-radius:0;box-shadow:none;
  transition:transform .5s ease;
}
.nn-mag .nn-mag-card:hover .nn-mag-media img{transform:scale(1.04);}
.nn-mag .nn-mag-body{
  display:flex;flex-direction:column;gap:10px;
  padding:22px 22px 26px;
}
.nn-mag .nn-mag-cat{
  font-size:11px;font-weight:700;
  line-height:1.3;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--nn-mag-cat,#650031);
}
.nn-mag .nn-mag-title{
  margin:0 !important;
  font-family:inherit;
  font-size:var(--nn-mag-title-size,19px);
  font-weight:800;
  line-height:1.3;
  letter-spacing:0;
  text-transform:none;
  color:var(--nn-mag-title,#3A0A21);
}
.nn-mag .nn-mag-excerpt{
  margin:0 !important;
  font-size:14px;line-height:1.6;
  color:var(--nn-mag-text,#4A2436);
}
/* Naslov iznad kartica + link na sve tekstove (npr. "Čitaj dalje" ispod pojedinačnog teksta) */
.nn-mag-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  margin:0 0 28px;
  font-family:'Archivo',sans-serif;
}
.nn-mag-head .nn-mag-head__title{
  margin:0;
  font:900 26px/1.1 'Archivo',sans-serif;
  letter-spacing:0;text-transform:uppercase;
  color:#211018;
}
.nn-mag-head__link{
  padding-bottom:3px;border-bottom:1px solid #650031;
  font-size:12px;font-weight:700;line-height:1.3;letter-spacing:.12em;white-space:nowrap;
  color:#650031 !important;text-decoration:none !important;
  transition:letter-spacing .25s ease,color .2s ease;
}
.nn-mag-head__link:hover{letter-spacing:.16em;color:#3A0A21 !important;}
.nn-mag-head__eyebrow{
  margin:0 0 16px;
  font-size:13px;font-weight:700;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;
  color:#650031;
}
.nn-mag-head .nn-mag-head__intro{max-width:520px;margin:12px 0 0;font:400 16px/1.6 'Archivo',sans-serif;color:#5C3245;}
.nn-mag-head--large{margin-bottom:36px;}
.nn-mag-head--large .nn-mag-head__title{font-size:44px;line-height:1.05;letter-spacing:-.01em;}
@media (max-width:767px){
  .nn-mag-head--large .nn-mag-head__title{font-size:30px;}
  .nn-mag-head{margin-bottom:22px;}
  .nn-mag-head .nn-mag-head__title{font-size:22px;}
}
.nn-mag-empty{
  margin:0;
  font-family:'Archivo',sans-serif;
  font-size:16px;
  color:#4A2436;
}

/* ---------------------------------------------------------
   Ninium video
   --------------------------------------------------------- */
.nn-video-wrap{display:flex;justify-content:center;width:100%;}
.nn-video{
  position:relative;
  width:100%;
  max-width:var(--nn-video-w,320px);
  aspect-ratio:var(--nn-video-ratio,9/16);
  margin:0;
  overflow:hidden;
  border-radius:var(--nn-video-radius,22px);
  background:#2A0717;
  box-shadow:0 24px 60px rgba(33,16,24,.28);
}
.nn-video video{
  display:block;width:100%;height:100%;
  object-fit:cover;
}
.nn-video .nn-video-play{
  -webkit-appearance:none;appearance:none;
  position:absolute;left:50%;top:50%;
  width:64px;height:64px;
  transform:translate(-50%,-50%);
  display:flex;align-items:center;justify-content:center;
  padding:0 0 0 3px;
  border:0 !important;border-radius:50% !important;
  background:rgba(255,255,255,.92) !important;
  color:#650031 !important;
  box-shadow:0 10px 30px rgba(33,16,24,.35);
  cursor:pointer;
  transition:transform .25s ease,opacity .25s ease,background .25s ease;
}
.nn-video .nn-video-play:hover{transform:translate(-50%,-50%) scale(1.06);background:#fff !important;}
.nn-video.is-playing .nn-video-play{opacity:0;pointer-events:none;}
.nn-video-caption{
  position:absolute;left:0;right:0;bottom:0;
  padding:28px 18px 16px;
  font-family:'Archivo',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:#fff;
  background:linear-gradient(to top,rgba(33,16,24,.75),rgba(33,16,24,0));
  pointer-events:none;
  transition:opacity .25s ease;
}
.nn-video.is-playing .nn-video-caption{opacity:0;}
.nn-video.is-started .nn-video-caption{opacity:0;}
.nn-video.is-started video{cursor:pointer;}

/* vlastite komande (mod "na klik") */
.nn-video-bar{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;align-items:center;gap:8px;
  padding:34px 12px 12px;
  background:linear-gradient(to top,rgba(33,16,24,.78),rgba(33,16,24,0));
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;
}
.nn-video.is-started .nn-video-bar{opacity:1;pointer-events:auto;}
.nn-video.is-started.is-idle .nn-video-bar{opacity:0;pointer-events:none;}
.nn-video .nn-video-btn{
  -webkit-appearance:none;appearance:none;
  flex:0 0 auto;width:32px;height:32px;min-width:0;padding:0;margin:0;
  display:inline-flex;align-items:center;justify-content:center;
  border:0 !important;border-radius:50% !important;
  background:rgba(255,255,255,.16) !important;color:#fff !important;
  box-shadow:none !important;cursor:pointer;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:background .2s ease,transform .2s ease;
}
.nn-video .nn-video-btn:hover,
.nn-video .nn-video-btn:focus-visible{background:rgba(255,255,255,.32) !important;transform:scale(1.06);outline:0;}
.nn-video .nn-video-btn svg{display:block;}
.nn-video-progress{position:relative;flex:1 1 auto;height:18px;min-width:40px;cursor:pointer;}
.nn-video-progress::before,
.nn-video-progress span{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;border-radius:3px;}
.nn-video-progress::before{background:rgba(255,255,255,.28);}
.nn-video-progress span{display:block;background:#fff;transform-origin:left center;transform:scaleX(0);}
.nn-video-progress:focus-visible{outline:0;}
.nn-video-progress:focus-visible::before{background:rgba(255,255,255,.5);}

/* puni ekran: cijela kartica ide u puni ekran, a uspravan video se prikaže cijeli (ne reže se) */
.nn-video:fullscreen{max-width:none !important;width:100% !important;height:100% !important;aspect-ratio:auto !important;border-radius:0 !important;box-shadow:none;background:#000;}
.nn-video:-webkit-full-screen{max-width:none !important;width:100% !important;height:100% !important;aspect-ratio:auto !important;border-radius:0 !important;box-shadow:none;background:#000;}
.nn-video:fullscreen video,
.nn-video video:fullscreen{object-fit:contain;background:#000;}
.nn-video:-webkit-full-screen video,
.nn-video video:-webkit-full-screen{object-fit:contain;background:#000;}
.nn-video:fullscreen .nn-video-bar{padding:60px max(24px,calc(50% - 360px)) 28px;gap:12px;}
.nn-video:-webkit-full-screen .nn-video-bar{padding:60px max(24px,calc(50% - 360px)) 28px;gap:12px;}
.nn-video:fullscreen .nn-video-btn{width:42px;height:42px;}
.nn-video:-webkit-full-screen .nn-video-btn{width:42px;height:42px;}

