/* ============================================================
   JA ELITNO — design system
   ============================================================ */

/* ---------- 1. Tokens ---------- */
:root{
  --deep:      #08191F;
  --deep-2:    #0D242C;
  --deep-3:    #123039;
  --ink:       #071216;
  --paper:     #F2F1EA;
  --paper-2:   #E6E4D9;
  --paper-3:   #D6D3C6;
  --accent:    #3EC2A3;
  --accent-d:  #23907A;
  --accent-l:  #7FE0C6;
  --sand:      #C9B78E;
  --danger:    #E2603F;

  --font-display: 'Anton', 'Arial Narrow', Impact, sans-serif;
  --font-body: 'Inter', -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-hand: 'Permanent Marker', 'Comic Sans MS', cursive;

  --maxw: 1320px;
  --pad: clamp(18px, 4vw, 56px);
  --r: 3px;

  --ease-out: cubic-bezier(.16,.84,.44,1);
  --ease-in: cubic-bezier(.7,0,.84,0);
  --ease-back: cubic-bezier(.34,1.56,.64,1);
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  color:var(--deep);
  background:var(--paper);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:400;line-height:.92;letter-spacing:.005em;text-transform:uppercase}
p{margin:0 0 1em}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* ---------- 3. Utility ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.wrap-wide{max-width:1560px;margin:0 auto;padding-inline:var(--pad)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dark{background:var(--deep);color:var(--paper)}
.accent{color:var(--accent)}
.mono{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:700}
.hand{font-family:var(--font-hand);text-transform:none;letter-spacing:0}

/* grain overlay */
.grain::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:3;opacity:.16;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}

/* torn paper edges */
.torn-b{clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),96% 100%,92% calc(100% - 10px),87% calc(100% - 2px),81% calc(100% - 13px),74% calc(100% - 4px),68% calc(100% - 15px),61% calc(100% - 6px),54% calc(100% - 16px),47% calc(100% - 5px),41% calc(100% - 14px),34% calc(100% - 3px),27% calc(100% - 12px),20% calc(100% - 2px),13% calc(100% - 13px),7% calc(100% - 5px),0 calc(100% - 15px))}
.torn-t{clip-path:polygon(0 15px,7% 5px,13% 13px,20% 2px,27% 12px,34% 3px,41% 14px,47% 5px,54% 16px,61% 6px,68% 15px,74% 4px,81% 13px,87% 2px,92% 10px,96% 0,100% 14px,100% 100%,0 100%)}
.torn-both{clip-path:polygon(0 14px,8% 4px,16% 12px,25% 2px,34% 11px,43% 3px,52% 13px,61% 4px,70% 12px,79% 2px,88% 11px,95% 3px,100% 12px,100% calc(100% - 13px),94% 100%,86% calc(100% - 9px),77% calc(100% - 1px),68% calc(100% - 12px),58% calc(100% - 3px),48% calc(100% - 13px),38% calc(100% - 4px),28% calc(100% - 12px),18% calc(100% - 2px),9% calc(100% - 11px),0 calc(100% - 3px))}

/* ---------- 4. Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  padding:15px 26px;border-radius:var(--r);
  font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  background:var(--accent);color:var(--deep);
  position:relative;overflow:hidden;
  transition:transform .25s var(--ease-out), background .25s, color .25s, box-shadow .25s;
  box-shadow:0 6px 0 -2px rgba(0,0,0,.18);
}
.btn svg{transition:transform .3s var(--ease-out)}
.btn:hover{background:var(--accent-l);transform:translateY(-2px);box-shadow:0 10px 0 -3px rgba(0,0,0,.22)}
.btn:hover svg{transform:translateX(5px)}
.btn:active{transform:translateY(1px);box-shadow:0 3px 0 -2px rgba(0,0,0,.2)}
.btn--ghost{background:transparent;color:var(--paper);border:2px solid rgba(242,241,234,.35);box-shadow:none}
.btn--ghost:hover{background:rgba(242,241,234,.1);border-color:var(--accent);color:var(--accent);box-shadow:none}
.btn--dark{background:var(--deep);color:var(--paper)}
.btn--dark:hover{background:var(--deep-3);color:var(--accent)}
.btn--block{width:100%;justify-content:center}
.btn--lg{padding:19px 34px;font-size:13px}
.btn[disabled]{opacity:.45;pointer-events:none;filter:grayscale(1)}

/* link with animated underline */
.linkline{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;position:relative;padding-bottom:3px;color:var(--accent-d)}
.linkline::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:100%;background:currentColor;transform-origin:right;transform:scaleX(1);transition:transform .35s var(--ease-out)}
.linkline:hover::after{transform-origin:left;animation:swipe .5s var(--ease-out)}
@keyframes swipe{0%{transform:scaleX(1);transform-origin:right}49%{transform:scaleX(0);transform-origin:right}50%{transform:scaleX(0);transform-origin:left}100%{transform:scaleX(1);transform-origin:left}}
.linkline svg{transition:transform .3s var(--ease-out)}
.linkline:hover svg{transform:translateX(6px)}

/* ---------- 5. Header ---------- */
.topbar{
  background:var(--ink);color:var(--paper);font-size:12px;
  display:flex;align-items:center;gap:20px;
  padding:9px var(--pad);position:relative;z-index:60;
}
.topbar__social{display:flex;gap:14px}
.topbar__social a{opacity:.75;transition:opacity .2s,transform .2s,color .2s}
.topbar__social a:hover{opacity:1;color:var(--accent);transform:translateY(-2px)}
.topbar__msg{flex:1;text-align:center;letter-spacing:.02em}
.topbar__msg b{color:var(--accent);font-weight:800}
.topbar__right{display:flex;gap:16px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.7}

.hdr{
  position:sticky;top:0;z-index:55;
  background:var(--paper);
  border-bottom:1px solid rgba(8,25,31,.12);
  transition:box-shadow .3s, background .3s;
}
.hdr.is-stuck{box-shadow:0 8px 30px -12px rgba(8,25,31,.35)}
.hdr__in{display:flex;align-items:center;gap:28px;padding:0 var(--pad);height:90px;max-width:1560px;margin:0 auto}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.logo__img{height:68px;width:auto;display:block;transition:transform .35s var(--ease-out)}
.logo:hover .logo__img{transform:rotate(-1.5deg) scale(1.03)}
.logo__mark{width:38px;height:26px;color:var(--deep)}
.logo__txt{
  font-family:var(--font-hand);font-size:27px;line-height:1;color:var(--accent-d);
  transform:skewX(-8deg);letter-spacing:.01em;white-space:nowrap;
  transition:color .25s;
}
.hdr .logo__txt{font-size:30px}
.is-stuck .logo__txt{font-size:26px}

.logo:hover .logo__txt{color:var(--accent)}

.nav{display:flex;gap:6px;margin-inline:auto}
.nav__a{
  position:relative;padding:10px 16px;font-size:12px;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:7px;
}
.nav__a::after{content:'';position:absolute;left:16px;right:16px;bottom:4px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}
.nav__a:hover::after,.nav__a.is-active::after{transform:scaleX(1)}
.nav__item{position:relative}
.nav__drop{
  position:absolute;top:100%;left:0;min-width:230px;background:var(--paper);
  border:1px solid rgba(8,25,31,.14);box-shadow:0 24px 50px -20px rgba(8,25,31,.45);
  padding:10px;opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .25s,transform .25s,visibility .25s;
}
.nav__item:hover .nav__drop,.nav__item:focus-within .nav__drop{opacity:1;visibility:visible;transform:translateY(0)}
.nav__drop a{display:flex;justify-content:space-between;gap:14px;padding:10px 14px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background .2s,color .2s}
.nav__drop a span{opacity:.45;font-weight:600}
.nav__drop a:hover{background:var(--deep);color:var(--accent)}

.hdr__tools{display:flex;align-items:center;gap:4px;flex-shrink:0}

/* language switch */
.langsw{display:flex;align-items:center;gap:2px;margin-right:6px;border:1px solid rgba(8,25,31,.22);border-radius:30px;padding:3px}
.langsw button{font-size:10px;font-weight:800;letter-spacing:.09em;padding:5px 9px;border-radius:20px;transition:background .2s,color .2s}
.langsw button.is-on{background:var(--deep);color:var(--accent)}
.langsw button:not(.is-on):hover{background:rgba(8,25,31,.09)}
.iconbtn{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;transition:background .2s,color .2s,transform .2s}
.iconbtn:hover{background:rgba(8,25,31,.07);color:var(--accent-d);transform:translateY(-1px)}
.burger{display:none}

/* --- cart bag with water level --- */
.cartbtn{position:relative;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;transition:background .2s}
.cartbtn:hover{background:rgba(8,25,31,.07)}
.cartbtn.is-shaking{animation:cartShake .6s var(--ease-out)}
@keyframes cartShake{
  0%,100%{transform:translate(0,0) rotate(0)}
  12%{transform:translate(-3px,1px) rotate(-7deg)}
  26%{transform:translate(3px,-2px) rotate(6deg)}
  40%{transform:translate(-3px,2px) rotate(-5deg)}
  55%{transform:translate(2px,-1px) rotate(4deg)}
  70%{transform:translate(-1px,1px) rotate(-2deg)}
  85%{transform:translate(1px,0) rotate(1deg)}
}
.cartbtn__svg{width:30px;height:32px;overflow:visible}
.cartbtn__water{transition:transform .7s var(--ease-back)}
.cartbtn__wave{animation:waveSlide 3.2s linear infinite}
@keyframes waveSlide{from{transform:translateX(0)}to{transform:translateX(-24px)}}
.cartbtn__count{
  position:absolute;top:-1px;right:-2px;min-width:21px;height:21px;padding:0 5px;
  border-radius:11px;background:var(--accent);color:var(--deep);
  font-size:11px;font-weight:800;display:grid;place-items:center;
  border:2px solid var(--paper);transition:transform .3s var(--ease-back);
}
.cartbtn__count.is-pop{animation:countPop .55s var(--ease-back)}
@keyframes countPop{0%{transform:scale(1)}35%{transform:scale(1.75) rotate(-9deg)}100%{transform:scale(1)}}
.cartbtn__badge{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%) rotate(-6deg);
  background:var(--danger);color:#fff;font-size:8px;font-weight:900;letter-spacing:.1em;
  padding:2px 6px;white-space:nowrap;opacity:0;pointer-events:none;
  transition:opacity .3s,transform .4s var(--ease-back);
}
.cartbtn.has-bigcatch .cartbtn__badge{opacity:1;transform:translateX(-50%) translateY(-4px) rotate(-6deg)}

/* ---------- 6. Hero ---------- */
.hero{position:relative;background:var(--deep);color:var(--paper);overflow:hidden;isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__img{
  position:absolute;top:0;right:0;width:68%;height:100%;object-fit:cover;object-position:center 38%;
  -webkit-mask-image:linear-gradient(103deg,transparent 2%,rgba(0,0,0,.12) 16%,rgba(0,0,0,.45) 30%,rgba(0,0,0,.78) 44%,#000 62%);
  mask-image:linear-gradient(103deg,transparent 2%,rgba(0,0,0,.12) 16%,rgba(0,0,0,.45) 30%,rgba(0,0,0,.78) 44%,#000 62%);
  will-change:transform;
}
.hero__scrim{position:absolute;inset:0;background:
  linear-gradient(103deg,
    var(--deep) 3%,
    rgba(8,25,31,.82) 17%,
    rgba(8,25,31,.5) 27%,
    rgba(8,25,31,.26) 35%,
    rgba(8,25,31,.1) 44%,
    rgba(8,25,31,.03) 54%,
    rgba(8,25,31,0) 66%);}
/* underwater light rays */
.rays{position:absolute;inset:-20% -10%;z-index:1;pointer-events:none;opacity:.5;mix-blend-mode:screen}
.rays span{
  position:absolute;top:-30%;width:14vw;height:160%;
  background:linear-gradient(to bottom, rgba(126,224,198,.28), rgba(126,224,198,0) 72%);
  filter:blur(14px);transform-origin:top center;
  animation:raySway 9s ease-in-out infinite;
}
.rays span:nth-child(1){left:8%;animation-delay:0s;opacity:.7}
.rays span:nth-child(2){left:30%;width:9vw;animation-delay:-2.5s;opacity:.5}
.rays span:nth-child(3){left:56%;width:17vw;animation-delay:-5s;opacity:.42}
.rays span:nth-child(4){left:78%;width:11vw;animation-delay:-7s;opacity:.55}
@keyframes raySway{0%,100%{transform:rotate(6deg) translateX(0)}50%{transform:rotate(11deg) translateX(24px)}}
/* bubbles */
.bubbles{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.bubbles i{
  position:absolute;bottom:-40px;border-radius:50%;
  border:1px solid rgba(190,240,225,.5);background:rgba(190,240,225,.09);
  animation:bubbleUp linear infinite;
}
@keyframes bubbleUp{
  0%{transform:translateY(0) translateX(0) scale(.6);opacity:0}
  10%{opacity:.85}
  50%{transform:translateY(-46vh) translateX(16px) scale(1)}
  90%{opacity:.5}
  100%{transform:translateY(-96vh) translateX(-14px) scale(1.15);opacity:0}
}

.hero__in{position:relative;z-index:4;max-width:1560px;margin:0 auto;padding:clamp(56px,9vw,120px) var(--pad) clamp(70px,10vw,140px)}
.hero__eyebrow{color:var(--accent);letter-spacing:.28em;font-size:11px;font-weight:800;text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:12px}
.hero__eyebrow::before{content:'';width:34px;height:2px;background:var(--accent)}
.hero h1{font-size:clamp(40px,7.6vw,104px);line-height:1;letter-spacing:-.01em;max-width:14ch;text-shadow:0 10px 40px rgba(0,0,0,.4)}
.hero h1 em{font-style:normal;color:var(--accent);position:relative;display:inline-block}
.hero h1 em::after{content:'';position:absolute;left:-2%;right:-2%;bottom:.1em;height:.1em;background:var(--accent);opacity:.3}
.hero__lead{margin:26px 0 34px;max-width:34ch;font-size:clamp(15px,1.35vw,18px);color:rgba(242,241,234,.82)}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
/* rotating stamp */
.stamp{
  position:absolute;right:clamp(20px,4vw,64px);bottom:34px;z-index:5;
  width:140px;height:140px;color:var(--accent);opacity:.95;
}
.stamp__ring{animation:spin 24s linear infinite;transform-origin:50% 50%}
@keyframes spin{to{transform:rotate(360deg)}}

/* trust bar */
.trust{background:var(--deep-2);color:var(--paper);border-top:1px solid rgba(242,241,234,.08);position:relative;z-index:6}
.trust__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-width:1560px;margin:0 auto;padding-inline:var(--pad)}
.trust__i{display:flex;align-items:center;gap:15px;padding:26px 22px;position:relative}
.trust__i+.trust__i::before{content:'';position:absolute;left:0;top:26%;bottom:26%;width:1px;background:rgba(242,241,234,.14)}
.trust__i svg{color:var(--accent);flex-shrink:0;transition:transform .35s var(--ease-back)}
.trust__i:hover svg{transform:translateY(-4px) scale(1.1)}
.trust__i b{display:block;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.trust__i span{font-size:13px;opacity:.62}

/* ---------- 7. Sections ---------- */
.sec{padding:clamp(56px,7vw,104px) 0;position:relative}
.sec--paper{background:var(--paper)}
.sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:clamp(30px,4vw,52px)}
/* Permanent Marker riše precej čez svojo em-škatlo, zato line-height 1 pomeni,
   da se poteze dejansko prekrivajo z naslovom spodaj, čeprav se škatli ne. */
/* 16px in ne 12: slovenski Š, Č in Ž imajo strešice, ki segajo nad višino
   velikih črk, zato se je pri naslovih kot »DRUŠČINA« razmik skoraj zaprl. */
.sechead__kicker{font-family:var(--font-hand);font-size:26px;color:var(--accent-d);transform:skewX(-8deg);margin-bottom:16px;line-height:1.35}
.sechead h2{font-size:clamp(34px,5.6vw,70px)}
.sechead h2 u{text-decoration:none;position:relative;display:inline-block}
.sechead h2 u::after{
  content:'';position:absolute;left:-1%;right:-1%;bottom:-.1em;height:.13em;background:var(--accent);
  transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-out) .1s;
}
.is-in .sechead h2 u::after,.sechead.is-in h2 u::after{transform:scaleX(1)}

/* ---------- 8. Product grid & cards ---------- */
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,24px)}
.pgrid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{
  position:relative;background:var(--paper);
  transition:transform .4s var(--ease-out);
  display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-7px)}
.card__media{
  position:relative;overflow:hidden;background:var(--paper-3);
  aspect-ratio:1/1.06;
  box-shadow:0 0 0 1px rgba(8,25,31,.1), 8px 8px 0 -2px rgba(8,25,31,.06);
}
.card__img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out),opacity .4s}
.card__img--alt{position:absolute;inset:0;opacity:0}
/* WooCommerce sili img{height:auto} — vrni polno višino, da slika zapolni kartico */
.woocommerce .card__media .card__img,.card__media .card__img{height:100%!important;width:100%!important;object-fit:cover}
.card:hover .card__img{transform:scale(1.07)}
.card:hover .card__img--alt{opacity:1}
.card:hover .card__media{animation:cardWiggle .7s var(--ease-out)}
@keyframes cardWiggle{0%{transform:rotate(0)}25%{transform:rotate(-.9deg)}55%{transform:rotate(.7deg)}80%{transform:rotate(-.3deg)}100%{transform:rotate(0)}}
.card__badge{
  position:absolute;top:10px;right:10px;z-index:2;
  background:var(--accent);color:var(--deep);font-size:9px;font-weight:900;
  letter-spacing:.14em;padding:5px 9px;transform:rotate(3deg);
}
.card__badge--out{background:var(--deep);color:var(--paper)}
.card__foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--deep);color:var(--paper);padding:14px 16px;margin-top:-1px;
}
.card__name{font-family:var(--font-display);font-size:15px;letter-spacing:.02em;line-height:1.1}
.card__price{font-size:13px;opacity:.7;margin-top:3px}
.card__price s{opacity:.5;margin-right:6px}
.card__add{
  width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;
  background:var(--accent-d);color:var(--paper);border-radius:2px;
  transition:background .25s,transform .25s var(--ease-back),color .25s;
}
.card__add:hover{background:var(--accent);color:var(--deep);transform:rotate(-12deg) scale(1.1)}
.card__add[disabled]{opacity:.4;pointer-events:none}
/* preglasi privzeti WooCommerce (vijolični) slog gumba na kartici */
.woocommerce a.card__add,.woocommerce a.card__add.add_to_cart_button,.woocommerce a.card__add.added{
  background:var(--accent-d)!important;color:var(--paper)!important;border-radius:2px!important;
  width:42px!important;height:42px!important;min-width:0!important;padding:0!important;font-size:0!important;line-height:normal!important}
.woocommerce a.card__add:hover{background:var(--accent)!important;color:var(--deep)!important}
.woocommerce a.card__add svg{width:18px;height:18px}
/* skrij WC "ogled košarice" povezavo, ki se pojavi za gumbom na kartici */
.card__foot a.added_to_cart{display:none!important}
.card__link{position:absolute;inset:0;z-index:1}
/* gumb "dodaj" mora biti nad preklopno povezavo kartice, da ga je mogoče klikniti */
.card__foot{position:relative;z-index:2}
.card__add{position:relative;z-index:2}

/* ---------- 9. Drop banner + featured video ---------- */
.dropgrid{display:grid;grid-template-columns:1fr 1.06fr;gap:clamp(16px,2vw,28px);align-items:stretch}

/* Dve zloženi "nova izdaja" kartici v levem stolpcu (prej en PIKE drop) */
.dropstack{display:grid;grid-template-rows:1fr;gap:clamp(16px,2vw,28px)}
.dropstack .drop{min-height:215px}
.dropstack .drop h3{font-size:clamp(28px,3.1vw,44px)}
.dropstack .drop__price{font-size:20px;margin:12px 0 16px}

.drop{
  position:relative;background:var(--deep);color:var(--paper);overflow:hidden;
  display:flex;min-height:440px;
}
.drop__media{position:absolute;inset:0;z-index:0}
.drop__media img{width:100%;height:100%;object-fit:cover;object-position:center 32%;transition:transform 1.2s var(--ease-out)}
.drop:hover .drop__media img{transform:scale(1.05)}
.drop__media::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,25,31,.62) 0%,rgba(8,25,31,.15) 34%,rgba(8,25,31,.9) 74%,rgba(8,25,31,.97) 100%);
}
.drop__txt{position:relative;z-index:3;margin-top:auto;padding:clamp(26px,3vw,42px)}
.drop__kicker{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;margin-bottom:12px}
.drop h3{font-size:clamp(38px,4.6vw,72px);line-height:.82}
.drop h3 i{font-style:italic;font-family:var(--font-hand);text-transform:none;font-size:.62em;line-height:1.25;color:var(--accent);display:block;margin-top:4px;transform:skewX(-8deg)}
.drop__price{display:inline-block;background:var(--accent);color:var(--deep);font-family:var(--font-display);font-size:24px;padding:6px 16px;margin:18px 0 20px;transform:rotate(-2deg)}
.drop__seal{position:absolute;top:22px;right:24px;z-index:4;width:104px;height:104px;color:var(--accent)}

/* featured, playable video next to the drop */
.vidfeature{background:var(--deep);color:var(--paper);padding:clamp(18px,2vw,26px);display:flex;flex-direction:column}
.vidfeature__hd{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:14px}
.vidfeature__kicker{display:flex;align-items:center;gap:9px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.vidfeature__dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulseDot 1.9s ease-in-out infinite}
@keyframes pulseDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.65)}}
.vidfeature__player{
  position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--deep-2);cursor:pointer;
  box-shadow:0 0 0 1px rgba(242,241,234,.16);
}
.vidfeature__player img{width:100%;height:100%;object-fit:cover;filter:brightness(.8);transition:transform .8s var(--ease-out),filter .4s}
.vidfeature__player:hover img{transform:scale(1.05);filter:brightness(1)}
.vidfeature__player:hover .vid__play{background:var(--accent);color:var(--deep);transform:translate(-50%,-50%) scale(1.14)}
.vidfeature__player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.vidfeature__player.is-playing{cursor:default}
.vidfeature__t{font-family:var(--font-display);font-size:clamp(16px,1.5vw,21px);line-height:1.14;text-transform:uppercase;margin-top:16px}
.vidfeature__foot{margin-top:auto;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.vidfeature__hint{font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.45}

/* ---------- 10. Adventures strip (infinite marquee) ---------- */
.adv{position:relative}
.adv__vp{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
}
/* the track holds the images twice, so translating by exactly one set loops seamlessly */
.adv__rail{display:flex;gap:12px;width:max-content;animation:advSlide 64s linear infinite;will-change:transform}
.adv__vp:hover .adv__rail{animation-play-state:paused}
@keyframes advSlide{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 6px))}}
.adv__rail a{position:relative;flex:0 0 clamp(150px,15vw,210px);aspect-ratio:1;overflow:hidden;background:var(--paper-3)}
.adv__rail img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out),filter .4s;filter:saturate(.9)}
.adv__rail a:hover img{transform:scale(1.09);filter:saturate(1.15)}
.adv__rail a::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(8,25,31,.6));opacity:0;transition:opacity .3s}
.adv__rail a:hover::after{opacity:1}
.adv__hint{margin-top:14px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.4}
@media (prefers-reduced-motion:reduce){
  .adv__vp{overflow-x:auto;scrollbar-width:none}
  .adv__vp::-webkit-scrollbar{display:none}
  .adv__rail{animation:none}
}

/* ---------- 10b. Latest videos ---------- */
.vids{background:var(--deep);color:var(--paper);position:relative;overflow:hidden}
.vids .sechead h2{color:var(--paper)}
.vidgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.7vw,24px)}
.vid{display:block;position:relative}
.vid__media{
  position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--deep-2);
  box-shadow:0 0 0 1px rgba(242,241,234,.16), 8px 8px 0 -2px rgba(242,241,234,.06);
}
.vid__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.86);transition:transform .8s var(--ease-out),filter .45s}
.vid:hover .vid__media img{transform:scale(1.08);filter:saturate(1.12) brightness(1)}
.vid__media::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(8,25,31,.75));opacity:.9;transition:opacity .35s}
.vid:hover .vid__media::after{opacity:.55}
.vid__play{
  position:absolute;left:50%;top:50%;width:56px;height:56px;z-index:2;
  transform:translate(-50%,-50%);border-radius:50%;
  background:rgba(8,25,31,.7);border:2px solid var(--accent);color:var(--accent);
  display:grid;place-items:center;backdrop-filter:blur(2px);
  transition:transform .35s var(--ease-back),background .3s,color .3s;
}
.vid__play svg{margin-left:3px}
.vid:hover .vid__play{background:var(--accent);color:var(--deep);transform:translate(-50%,-50%) scale(1.14)}
.vid__play::before{
  content:'';position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--accent);
  animation:sonarRing 2.6s var(--ease-out) infinite;
}
@keyframes sonarRing{0%{transform:scale(1);opacity:.6}70%{transform:scale(1.65);opacity:0}100%{opacity:0}}
.vid__ep{
  position:absolute;top:10px;left:10px;z-index:2;
  background:var(--accent);color:var(--deep);font-size:9px;font-weight:900;letter-spacing:.14em;
  padding:4px 8px;transform:rotate(-2deg);
}
.vid__t{
  font-family:var(--font-display);font-size:15px;line-height:1.14;margin-top:14px;
  text-transform:uppercase;letter-spacing:.01em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  transition:color .25s;
}
.vid:hover .vid__t{color:var(--accent)}
.vid__meta{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.5}
.vid__meta svg{flex-shrink:0}

/* ---------- 11. Story band ---------- */
.story{background:var(--deep-2);color:var(--paper);position:relative;overflow:hidden}
.story__in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,64px);align-items:center;padding-block:clamp(48px,6vw,90px)}
.story h2{font-size:clamp(32px,4.4vw,60px);margin-bottom:20px}
.story p{color:rgba(242,241,234,.72);max-width:46ch}
.story__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.story__stat b{display:block;font-family:var(--font-display);font-size:clamp(28px,3.4vw,46px);color:var(--accent);line-height:1}
.story__stat span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.story__media{position:relative;aspect-ratio:4/3.2}
/* usklajeno z razmerjem crew-tuna.jpg (822×455), da se fotka ne obreže po straneh */
.story__media--wide{aspect-ratio:822/455}
.story__media img{width:100%;height:100%;object-fit:cover}
.story__media::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(242,241,234,.2);pointer-events:none}
.story__tape{position:absolute;top:-14px;left:-16px;background:var(--accent);color:var(--deep);font-family:var(--font-hand);font-size:19px;padding:6px 18px;transform:rotate(-4deg);z-index:2}

/* ---------- 12. Newsletter ---------- */
.crew{background:var(--deep);color:var(--paper);text-align:center;position:relative;overflow:hidden}
.crew__in{padding-block:clamp(48px,6vw,86px);position:relative;z-index:2}
.crew h2{font-size:clamp(30px,4.6vw,58px);margin-bottom:12px}
.crew p{color:rgba(242,241,234,.66);max-width:48ch;margin:0 auto 28px}
.crew__form{display:flex;gap:10px;max-width:490px;margin:0 auto;flex-wrap:wrap}
.crew__form input{
  flex:1;min-width:200px;background:rgba(242,241,234,.07);border:1px solid rgba(242,241,234,.22);
  color:var(--paper);padding:16px 18px;font-size:14px;border-radius:var(--r);transition:border-color .25s,background .25s;
}
.crew__form input:focus{outline:none;border-color:var(--accent);background:rgba(242,241,234,.12)}
.crew__note{font-size:11px;opacity:.45;margin-top:14px;letter-spacing:.06em}

/* ---------- 13. Footer ---------- */
.ft{background:var(--ink);color:var(--paper);padding-top:clamp(44px,5vw,72px)}
.ft__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr) 1.2fr;gap:clamp(20px,3vw,44px);padding-bottom:44px}
.ft__brand .logo__txt{font-size:32px}
.ft__brand p{font-size:13px;color:rgba(242,241,234,.55);margin-top:14px;line-height:1.7}
.ft__social{display:flex;gap:12px;margin-top:18px}
.ft__social a{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(242,241,234,.2);border-radius:50%;transition:background .25s,color .25s,border-color .25s,transform .25s}
.ft__social a:hover{background:var(--accent);color:var(--deep);border-color:var(--accent);transform:translateY(-3px)}
.ft h4{font-size:11px;letter-spacing:.18em;color:var(--accent);margin-bottom:16px;font-family:var(--font-body);font-weight:800}
.ft li{margin-bottom:9px}
.ft li a{font-size:13px;color:rgba(242,241,234,.62);transition:color .2s,padding-left .2s}
.ft li a:hover{color:var(--accent);padding-left:5px}
.pay{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pay img{height:24px;width:auto;display:block;border-radius:4px}
.ft__made{color:rgba(242,241,234,.6);font-size:12px;transition:color .25s}
.ft__made:hover{color:var(--accent)}
.ft__made strong{color:var(--paper);font-weight:800}

/* piškotni pristanek — upravljanje privolitev */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:70;max-width:720px;margin:0 auto;
  background:var(--deep);color:var(--paper);border:1px solid rgba(242,241,234,.14);border-radius:14px;
  padding:16px 18px;box-shadow:0 20px 54px rgba(0,0,0,.45);
  transform:translateY(160%);transition:transform .45s var(--ease-out)}
.cookie.is-in{transform:translateY(0)}
.cookie[hidden]{display:none}
.cookie a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.cookie__main{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.cookie__main p{margin:0;font-size:13.5px;line-height:1.5;flex:1 1 280px;opacity:.9}
.cookie__btns{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}
.cookie .btn{padding:9px 15px;font-size:12px}
.cookie__prefs{margin-top:14px;padding-top:14px;border-top:1px solid rgba(242,241,234,.14);display:flex;flex-direction:column;gap:12px}
.cookie__prefs[hidden]{display:none}
.cookie__row{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}
.cookie__row span{display:flex;flex-direction:column;gap:2px}
.cookie__row b{font-size:13px}
.cookie__row em{font-size:11.5px;opacity:.6;font-style:normal}
.cookie__row input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;cursor:pointer}
.cookie__row input:disabled{opacity:.5;cursor:not-allowed}
.cookie__prefs .cookie__btns{justify-content:flex-end}
@media (max-width:560px){
  .cookie{padding:18px 18px 20px}
  .cookie__main{flex-direction:column;align-items:stretch;gap:16px}
  .cookie__main p{font-size:14px;line-height:1.65;flex:0 1 auto}
  .cookie__btns{width:100%;flex-direction:column;align-items:stretch;gap:10px;margin-top:2px}
  .cookie__btns .btn{flex:1 1 auto;width:100%;justify-content:center;padding:12px 15px}
}
.ft__bot{border-top:1px solid rgba(242,241,234,.1);padding:18px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:rgba(242,241,234,.42)}
.ft__bot em{font-style:normal;display:flex;align-items:center;gap:8px}

/* ============================================================
   14. HOOK → CART animation stage
   ============================================================ */
.hookstage{position:fixed;inset:0;z-index:900;pointer-events:none;overflow:visible}
.hookstage svg.hookline{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
/* Vrvica je bila bela in se je na svetlih sekcijah izgubila — zdaj je v barvi
   znamke, debelejša, s temno obrobo, da se vidi tudi na svetli podlagi. */
.hookline path{
  fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;
  filter:drop-shadow(0 0 6px rgba(62,194,163,.85)) drop-shadow(0 1px 2px rgba(7,18,22,.55));
}
.hookrig{position:absolute;top:0;left:0;width:0;height:0;offset-rotate:0deg;offset-anchor:50% 0%;will-change:transform}
.hookrig__inner{position:absolute;left:0;top:0;transform-origin:50% 0;will-change:transform}
.hook{position:absolute;left:-9px;top:-4px;width:18px;height:26px;color:var(--accent-l);
  filter:drop-shadow(0 0 5px rgba(62,194,163,.8)) drop-shadow(0 2px 3px rgba(7,18,22,.6))}
/* plovček sedi na vrvici tik nad trnkom — rdeče-bela sta edini barvi na strani,
   ki nista iz palete, zato animacijo takoj prebereš kot ribiško */
.bobber{position:absolute;left:-8px;top:-30px;width:16px;height:26px;
  filter:drop-shadow(0 2px 4px rgba(7,18,22,.55))}
/* the product tag that gets hooked */
.tagcard{
  position:absolute;left:-58px;top:20px;width:116px;
  background:#EFEDE2;color:var(--deep);
  border-radius:2px;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.6), 0 0 0 1px rgba(8,25,31,.16);
  padding:7px 7px 8px;
  clip-path:polygon(0 8px,50% 0,100% 8px,100% 100%,0 100%);
  transform-origin:50% 0;
}
.tagcard::before{content:'';position:absolute;top:5px;left:50%;transform:translateX(-50%);width:8px;height:8px;border-radius:50%;background:var(--deep);box-shadow:inset 0 1px 2px rgba(0,0,0,.6)}
.tagcard img{width:100%;aspect-ratio:1;object-fit:cover;margin-top:9px;background:var(--paper-3)}
.tagcard b{display:block;font-family:var(--font-display);font-size:10px;line-height:1.05;margin-top:6px;letter-spacing:.02em}
.tagcard i{font-style:normal;font-size:10px;font-weight:700;color:var(--accent-d)}
/* splash rings */
.splash{position:fixed;z-index:901;pointer-events:none;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;border:2px solid var(--accent);opacity:0}
.splash.go{animation:splashOut .75s var(--ease-out) forwards}
@keyframes splashOut{0%{opacity:.95;transform:scale(.4)}70%{opacity:.35}100%{opacity:0;transform:scale(11)}}
.droplet{position:fixed;z-index:901;pointer-events:none;width:5px;height:5px;border-radius:50%;background:var(--accent-l);opacity:0}
.droplet.go{animation:dropletFly .7s var(--ease-out) forwards}
@keyframes dropletFly{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.3)}}

/* fallback (no offset-path support) */
.hookrig--fallback{transition:transform var(--flyms,900ms) cubic-bezier(.55,.06,.3,1), opacity .3s}

/* ============================================================
   15. Mini cart drawer
   ============================================================ */
.scrim{position:fixed;inset:0;background:rgba(7,18,22,.62);backdrop-filter:blur(3px);z-index:70;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.scrim.is-open{opacity:1;visibility:visible}
.mini{
  position:fixed;top:0;right:0;bottom:0;width:min(430px,92vw);z-index:80;
  background:var(--paper);display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .5s var(--ease-out);
  box-shadow:-20px 0 60px -24px rgba(7,18,22,.6);
}
.mini.is-open{transform:translateX(0)}
.mini__hd{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;background:var(--deep);color:var(--paper)}
.mini__hd h3{font-size:19px}
.mini__hd button{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;transition:background .2s,transform .3s}
.mini__hd button:hover{background:rgba(242,241,234,.14);transform:rotate(90deg)}
.mini__body{flex:1;overflow-y:auto;padding:6px 22px}
.mini__foot{padding:18px 22px 22px;border-top:1px solid rgba(8,25,31,.14);background:var(--paper-2)}
.mini__empty{text-align:center;padding:56px 12px;color:rgba(8,25,31,.5)}
.mini__empty svg{color:var(--paper-3);margin-bottom:14px}
.mini__empty b{display:block;font-family:var(--font-display);font-size:22px;color:var(--deep);margin-bottom:6px}

.li{display:grid;grid-template-columns:74px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid rgba(8,25,31,.1);animation:liIn .45s var(--ease-out) backwards}
@keyframes liIn{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
.li.is-leaving{animation:liOut .35s var(--ease-in) forwards}
@keyframes liOut{to{opacity:0;transform:translateX(40px);height:0;padding:0;margin:0}}
.li img{width:74px;aspect-ratio:1/1.1;object-fit:cover;background:var(--paper-3)}
.li__t{font-family:var(--font-display);font-size:14px;line-height:1.1}
.li__v{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.55;margin-top:4px}
.li__p{font-weight:700;font-size:14px;margin-top:6px}
.qty{display:inline-flex;align-items:center;border:1px solid rgba(8,25,31,.22);margin-top:8px}
.qty button{width:28px;height:28px;display:grid;place-items:center;transition:background .2s,color .2s}
.qty button:hover{background:var(--deep);color:var(--accent)}
.qty span{min-width:30px;text-align:center;font-size:13px;font-weight:700}
.li__x{align-self:start;opacity:.4;transition:opacity .2s,color .2s,transform .2s}
.li__x:hover{opacity:1;color:var(--danger);transform:rotate(90deg)}

/* free shipping = reeling a fish in */
.reelbar{padding:14px 0 4px}
.reelbar__txt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:10px;display:flex;justify-content:space-between;gap:10px}
.reelbar__txt b{color:var(--accent-d)}
.reelbar__track{position:relative;height:26px}
.reelbar__line{position:absolute;left:0;right:0;top:13px;height:2px;background:repeating-linear-gradient(90deg,rgba(8,25,31,.3) 0 6px,transparent 6px 11px)}
.reelbar__fill{position:absolute;left:0;top:13px;height:2px;background:var(--accent);width:0;transition:width .8s var(--ease-out)}
.reelbar__fish{
  position:absolute;top:0;left:0;width:34px;height:26px;color:var(--deep);
  transform:translateX(-50%);transition:left .8s var(--ease-out);
  animation:fishWobble 1.4s ease-in-out infinite;
}
@keyframes fishWobble{0%,100%{transform:translateX(-50%) rotate(-5deg)}50%{transform:translateX(-50%) rotate(5deg)}}
.reelbar.is-done .reelbar__fish{color:var(--accent-d);animation:fishLand .7s var(--ease-back)}
@keyframes fishLand{0%{transform:translateX(-50%) rotate(0) scale(1)}40%{transform:translateX(-50%) rotate(-24deg) scale(1.35)}100%{transform:translateX(-50%) rotate(0) scale(1)}}
.reelbar__boat{position:absolute;right:0;top:2px;width:22px;height:22px;color:rgba(8,25,31,.35)}
.reelbar.is-done .reelbar__boat{color:var(--accent-d)}

.subtot{display:flex;justify-content:space-between;align-items:baseline;margin:12px 0 14px}
.subtot span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.subtot b{font-family:var(--font-display);font-size:26px}

/* ============================================================
   16. Sonar loader
   ============================================================ */
.sonar{position:fixed;inset:0;z-index:999;background:var(--ink);display:grid;place-items:center;transition:opacity .7s var(--ease-out),visibility .7s}
.sonar.is-done{opacity:0;visibility:hidden}
.sonar__disc{position:relative;width:min(260px,62vw);aspect-ratio:1;display:grid;place-items:center}
.sonar__disc::before,.sonar__disc::after{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid rgba(62,194,163,.28)}
.sonar__disc::after{inset:22%}
.sonar__sweep{position:absolute;inset:0;border-radius:50%;overflow:hidden}
.sonar__sweep i{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg, rgba(62,194,163,.42) 0deg, rgba(62,194,163,.06) 42deg, transparent 90deg);
  animation:spin 1.6s linear infinite;
}
.sonar__blip{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:0;box-shadow:0 0 12px var(--accent);animation:blip 1.6s linear infinite}
@keyframes blip{0%,55%{opacity:0}60%{opacity:1}100%{opacity:0}}
.sonar__txt{position:relative;z-index:2;text-align:center}
.sonar__txt .logo__txt{font-size:36px;color:var(--accent)}
.sonar__txt p{margin:10px 0 0;font-size:10px;letter-spacing:.34em;color:rgba(242,241,234,.4);text-transform:uppercase}

/* ============================================================
   17. Scroll rail (fishing line as scroll progress)
   ============================================================ */
.rail{position:fixed;left:14px;top:0;bottom:0;width:34px;z-index:40;pointer-events:none;display:none}
.rail__line{position:absolute;left:17px;top:0;width:1px;height:100%;background:rgba(8,25,31,.14)}
.rail__fill{position:absolute;left:17px;top:0;width:1px;height:0;background:var(--accent)}
.rail__hook{position:absolute;left:8px;top:0;width:19px;height:26px;color:var(--deep);transform:translateY(-2px);transition:transform .18s linear}
.rail--dark .rail__line{background:rgba(242,241,234,.16)}
.rail--dark .rail__hook{color:var(--paper)}
.rail__pct{position:absolute;left:36px;font-size:9px;font-weight:800;letter-spacing:.1em;color:var(--accent-d);white-space:nowrap}

/* ============================================================
   18. Cursor lure (desktop)
   ============================================================ */
/* z-index nad modalnimi okni (940) in obvestilom (950), pod sonar nalagalnikom (999),
   sicer vaba izgine za vsakim odprtim oknom */
.lure{
  position:fixed;left:0;top:0;z-index:995;pointer-events:none;width:26px;height:26px;
  margin:-13px 0 0 -13px;color:var(--accent);opacity:0;
  transition:transform .34s cubic-bezier(.2,.9,.3,1), opacity .4s;
  will-change:transform;
}
.lure.is-on{opacity:.9}
.lure.is-hot{color:var(--danger)}

/* ============================================================
   19. Lucky cast
   ============================================================ */
.castbtn{
  position:fixed;left:18px;bottom:18px;z-index:60;
  display:inline-flex;align-items:center;gap:10px;
  background:var(--deep);color:var(--accent);
  padding:12px 18px;border-radius:40px;
  font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  box-shadow:0 14px 34px -12px rgba(7,18,22,.7);
  transition:transform .3s var(--ease-back),background .25s;
}
.castbtn:hover{transform:translateY(-4px) scale(1.04);background:var(--deep-3)}
.castbtn svg{animation:rodTwitch 2.6s ease-in-out infinite}
@keyframes rodTwitch{0%,88%,100%{transform:rotate(0)}92%{transform:rotate(-16deg)}96%{transform:rotate(9deg)}}
.castbtn.is-used{opacity:.5}

.modal{position:fixed;inset:0;z-index:940;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.modal.is-open{opacity:1;visibility:visible}
.modal__bg{position:absolute;inset:0;background:rgba(7,18,22,.78);backdrop-filter:blur(4px)}
.modal__box{
  position:relative;z-index:2;width:min(520px,100%);background:var(--paper);
  transform:translateY(24px) scale(.96);transition:transform .45s var(--ease-back);
  box-shadow:0 40px 90px -30px rgba(7,18,22,.8);
}
.modal.is-open .modal__box{transform:none}
.modal__x{position:absolute;top:10px;right:10px;z-index:5;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:rgba(8,25,31,.08);transition:background .2s,transform .3s}
.modal__x:hover{background:var(--deep);color:var(--paper);transform:rotate(90deg)}

.cast{text-align:center}
.cast__pond{position:relative;height:190px;background:linear-gradient(180deg,var(--deep) 0%,var(--deep-3) 62%,#1B4A54 100%);overflow:hidden}
.cast__pond .rays{opacity:.35}
.cast__water{position:absolute;left:0;right:0;bottom:0;height:66px;background:linear-gradient(180deg,rgba(62,194,163,.22),rgba(62,194,163,.06));border-top:1px solid rgba(126,224,198,.5)}
.cast__water::before{content:'';position:absolute;top:-1px;left:0;width:200%;height:12px;
  background:radial-gradient(circle at 12px 12px,transparent 11px,rgba(126,224,198,.5) 12px) repeat-x;
  background-size:24px 24px;animation:waveSlide 3s linear infinite}
.cast__lure{position:absolute;left:50%;top:-30px;width:20px;height:20px;color:var(--accent-l);transform:translateX(-50%)}
.cast.is-casting .cast__lure{animation:lureThrow 1.05s var(--ease-out) forwards}
@keyframes lureThrow{
  0%{transform:translateX(-50%) translate(-120px,-10px) rotate(0)}
  55%{transform:translateX(-50%) translate(10px,-70px) rotate(240deg)}
  100%{transform:translateX(-50%) translate(0,150px) rotate(420deg)}
}
.cast__fish{position:absolute;left:50%;bottom:6px;width:64px;height:40px;color:var(--accent-l);opacity:0;transform:translateX(-50%) scale(.5)}
.cast.is-caught .cast__fish{animation:fishJump 1s var(--ease-back) forwards}
@keyframes fishJump{0%{opacity:0;transform:translateX(-50%) translateY(30px) scale(.5) rotate(0)}45%{opacity:1;transform:translateX(-50%) translateY(-56px) scale(1.1) rotate(-28deg)}100%{opacity:1;transform:translateX(-50%) translateY(-30px) scale(1) rotate(-8deg)}}
.cast__body{padding:26px 30px 30px}
.cast__body h3{font-size:30px;margin-bottom:8px}
.cast__body p{font-size:14px;color:rgba(8,25,31,.65);max-width:38ch;margin:0 auto 18px}
.cast__code{
  display:none;align-items:center;justify-content:center;gap:14px;
  border:2px dashed var(--deep);padding:14px 18px;margin-bottom:16px;
  font-family:var(--font-display);font-size:28px;letter-spacing:.08em;
}
.cast.is-caught .cast__code{display:flex;animation:liIn .5s var(--ease-out)}
.cast__copy{font-family:var(--font-body);font-size:10px;font-weight:800;letter-spacing:.14em;background:var(--deep);color:var(--paper);padding:7px 11px;border-radius:2px;transition:background .2s}
.cast__copy:hover{background:var(--accent-d)}

/* ============================================================
   20. Trophy card (order confirmation)
   ============================================================ */
.trophy{text-align:center;padding:0 0 30px}
.trophy__top{background:var(--deep);color:var(--paper);padding:26px 20px 20px;position:relative;overflow:hidden}
.trophy__top .rays{opacity:.3}
.trophy__seal{width:74px;height:74px;margin:0 auto 12px;color:var(--accent);position:relative;z-index:2}
.trophy__top h3{font-size:30px;position:relative;z-index:2}
.trophy__top p{font-size:11px;letter-spacing:.24em;text-transform:uppercase;opacity:.55;margin:6px 0 0;position:relative;z-index:2}
.trophy__rows{padding:20px 30px 8px;text-align:left}
.trophy__row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px dashed rgba(8,25,31,.2);font-size:13px}
.trophy__row b{font-weight:800}
.trophy__row:last-child{border-bottom:0}
.trophy__note{font-family:var(--font-hand);color:var(--accent-d);font-size:17px;margin:14px 0 20px;transform:rotate(-1.2deg)}

/* ============================================================
   21. Product page
   ============================================================ */
.pdp{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(26px,4vw,64px);padding-top:clamp(14px,2vw,26px)}
.crumbs{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(8,25,31,.5);padding:12px 0 0}
.crumbs a:hover{color:var(--accent-d)}
/* Cela fotografija mora biti vidna naenkrat, brez obrezovanja in brez scrollanja:
   - object-fit:contain namesto cover (prej je sliko obrezalo in delovala je povečana)
   - višina se prilagodi vidnemu delu zaslona, da glavna slika IN sličice
     skupaj vedno ostanejo nad pregibom */
.gal__main{
  position:relative;background:#fff;overflow:hidden;
  /* 280px = vrhnja vrstica + glava + drobtine + sličice + zrak.
     Izmerjeno na 1280×720; pri 250px je bilo 13px prekratko. */
  height:calc(100vh - 280px);
  height:calc(100svh - 280px);
  min-height:320px;max-height:660px;
  box-shadow:0 0 0 1px rgba(8,25,31,.09);
}
.gal__main img{width:100%;height:100%;object-fit:contain;transition:opacity .35s}
.gal__thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.gal__thumbs button{width:64px;aspect-ratio:1;overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(8,25,31,.14);transition:box-shadow .2s,transform .2s;opacity:.65}
.gal__thumbs button.is-on,.gal__thumbs button:hover{opacity:1;box-shadow:0 0 0 2px var(--accent);transform:translateY(-2px)}
.gal__thumbs img{width:100%;height:100%;object-fit:cover}

.pdp__info h1{font-size:clamp(32px,4.2vw,56px);line-height:.9}
.pdp__tag{font-family:var(--font-hand);color:var(--accent-d);font-size:20px;margin:10px 0 16px;transform:skewX(-6deg);display:inline-block}
.pdp__price{font-family:var(--font-display);font-size:34px;display:flex;align-items:baseline;gap:12px}
.pdp__price s{font-size:20px;opacity:.4}
.pdp__price em{font-style:normal;font-family:var(--font-body);font-size:11px;font-weight:800;letter-spacing:.12em;background:var(--danger);color:#fff;padding:4px 8px;text-transform:uppercase}
.pdp__desc{margin:20px 0 26px;color:rgba(8,25,31,.72);max-width:46ch}
.opt{margin-bottom:22px}
.opt__hd{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.opt__hd b{font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.opt__hd span{font-size:11px;color:var(--accent-d);font-weight:700;letter-spacing:.08em}

/* size selector = measuring tape */
.tape{position:relative;display:flex;background:var(--paper-2);border:1px solid rgba(8,25,31,.18);border-radius:2px;overflow:hidden}
.tape::before{content:'';position:absolute;left:0;right:0;top:0;height:9px;
  background:repeating-linear-gradient(90deg,rgba(8,25,31,.42) 0 1px,transparent 1px 9px);opacity:.7}
.tape button{
  flex:1;padding:20px 4px 12px;font-size:13px;font-weight:800;letter-spacing:.06em;
  border-right:1px solid rgba(8,25,31,.14);position:relative;transition:background .2s,color .2s;
}
.tape button:last-child{border-right:0}
.tape button:hover{background:rgba(62,194,163,.2)}
.tape button.is-on{background:var(--deep);color:var(--accent)}
.tape button.is-on::after{content:'';position:absolute;left:50%;bottom:4px;width:5px;height:5px;border-radius:50%;background:var(--accent);transform:translateX(-50%)}
.tape button[disabled]{opacity:.3;pointer-events:none;text-decoration:line-through}

.swatches{display:flex;gap:10px}
.swatch{width:38px;height:38px;border-radius:50%;box-shadow:0 0 0 1px rgba(8,25,31,.25);position:relative;transition:transform .2s,box-shadow .2s}
.swatch:hover{transform:scale(1.08)}
.swatch.is-on{box-shadow:0 0 0 2px var(--accent),0 0 0 4px var(--paper) inset}

.pdp__buy{display:flex;gap:12px;align-items:stretch;margin-bottom:20px}
.pdp__buy .qty{margin:0;border-color:rgba(8,25,31,.28)}
.pdp__buy .qty button{width:44px;height:auto}
.acc{border-top:1px solid rgba(8,25,31,.16)}
.acc__h{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;text-align:left}
.acc__h svg{transition:transform .3s}
.acc.is-open .acc__h svg{transform:rotate(45deg)}
.acc__b{max-height:0;overflow:hidden;transition:max-height .45s var(--ease-out)}
.acc.is-open .acc__b{max-height:420px}
.acc__b div{padding:0 0 18px;font-size:14px;color:rgba(8,25,31,.7)}
.acc__b li{position:relative;padding-left:20px;margin-bottom:7px}
.acc__b li::before{content:'';position:absolute;left:0;top:9px;width:8px;height:8px;background:var(--accent);border-radius:50%}

/* ---------- 22. Filters / listing ---------- */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.chip{padding:10px 18px;border:1px solid rgba(8,25,31,.22);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;border-radius:30px;transition:background .25s,color .25s,border-color .25s,transform .2s}
.chip:hover{transform:translateY(-2px);border-color:var(--deep)}
.chip.is-on{background:var(--deep);color:var(--accent);border-color:var(--deep)}

/* ---------- 23. Page hero (inner pages) ---------- */
.phead{background:var(--deep);color:var(--paper);position:relative;overflow:hidden;padding-block:clamp(44px,6vw,86px)}
.phead h1{font-size:clamp(38px,6.5vw,86px)}
.phead p{color:rgba(242,241,234,.62);max-width:52ch;margin-top:14px}
.phead__kicker{font-family:var(--font-hand);color:var(--accent);font-size:24px;transform:skewX(-8deg);display:inline-block;margin-bottom:4px}

/* ---------- 24. Cart page ---------- */
.cartpage{display:grid;grid-template-columns:1.5fr .85fr;gap:clamp(24px,3.4vw,54px);align-items:start;padding-block:clamp(34px,4vw,60px)}
.cartbox{background:var(--paper);box-shadow:0 0 0 1px rgba(8,25,31,.12)}
.cartbox .li{padding:18px 22px;margin:0}
.sumbox{background:var(--deep);color:var(--paper);padding:26px;position:sticky;top:112px}
.sumbox h3{font-size:22px;margin-bottom:18px}
.sumbox .reelbar__line{background:repeating-linear-gradient(90deg,rgba(242,241,234,.3) 0 6px,transparent 6px 11px)}
.sumbox .reelbar__fish{color:var(--paper)}
.sumbox .reelbar__boat{color:rgba(242,241,234,.4)}
.sumrow{display:flex;justify-content:space-between;padding:9px 0;font-size:14px;color:rgba(242,241,234,.72)}
.sumrow--total{border-top:1px solid rgba(242,241,234,.18);margin-top:10px;padding-top:16px;color:var(--paper);align-items:baseline}
.sumrow--total b{font-family:var(--font-display);font-size:28px}
.promo{display:flex;gap:8px;margin:16px 0}
.promo input{flex:1;background:rgba(242,241,234,.08);border:1px solid rgba(242,241,234,.22);color:var(--paper);padding:12px 14px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.promo input:focus{outline:none;border-color:var(--accent)}
.promo button{background:rgba(242,241,234,.14);padding:0 16px;font-size:11px;font-weight:800;letter-spacing:.12em;transition:background .2s,color .2s}
.promo button:hover{background:var(--accent);color:var(--deep)}
.promo__msg{font-size:11px;letter-spacing:.08em;margin:-8px 0 12px;min-height:16px}
.promo__msg.ok{color:var(--accent)}
.promo__msg.bad{color:var(--danger)}

/* ---------- 25. About / contact ---------- */
.rich{max-width:66ch;font-size:16px;color:rgba(8,25,31,.78)}
.rich h3{font-size:26px;margin:34px 0 12px;color:var(--deep)}
.rich h3:first-child,.rich>p:first-child{margin-top:0}
.rich h4{font-size:17px;margin:22px 0 6px;color:var(--deep)}
.rich p{margin:0 0 14px;line-height:1.65}
.rich ul{margin:0 0 16px;padding-left:20px}
.rich li{margin:6px 0;line-height:1.55}
.rich a{color:var(--accent-d);text-decoration:underline;text-underline-offset:2px}
.rich strong{color:var(--deep)}
.rich .info__note{font-size:13px;opacity:.72;border-left:3px solid var(--accent);padding:10px 0 10px 14px;margin:26px 0 0;max-width:62ch}
.crewgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:88%;margin-inline:auto}
/* Flip kartice ekipe: spredaj slika + ime, ob prehodu miške (ali kliku na dotik)
   se kartica obrne in zadaj pokaže vlogo, opis in citat. */
.crewcard{background:transparent;overflow:visible;cursor:pointer;perspective:1100px}
.crewcard__inner{position:relative;width:100%;aspect-ratio:4/4.75;transform-style:preserve-3d;transition:transform .6s var(--ease-out)}
.crewcard:hover .crewcard__inner,.crewcard.is-flip .crewcard__inner{transform:rotateY(180deg)}
@media (hover:hover){.crewcard:focus-within .crewcard__inner{transform:rotateY(180deg)}}
.crewcard__face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 0 0 1px rgba(8,25,31,.12)}
.crewcard__front{background:var(--deep)}
.crewcard__front img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.crewcard__name{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px 18px 16px;color:var(--paper);background:linear-gradient(transparent,rgba(8,25,31,.9) 65%)}
.crewcard__name h4{margin:0;font-size:20px;color:var(--paper)}
.crewcard__name span{display:block;margin-bottom:2px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:800}
.crewcard__back{transform:rotateY(180deg);background:var(--deep);color:var(--paper);padding:22px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;overflow:auto}
.crewcard__back h4{margin:0}
.crewcard__back .crewcard__role{font-size:clamp(15px,1.4vw,20px);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:800}
.crewcard__back h4{font-size:clamp(30px,2.8vw,44px);line-height:1.04}
.crewcard__back p{font-size:12.5px;line-height:1.5;opacity:.86}
.crewcard__back blockquote{margin:2px 0 0;font-family:var(--font-hand);color:var(--accent);font-size:16px;transform:rotate(-.6deg)}
.form{display:grid;gap:14px;max-width:560px}
.form label{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:6px}
.form input,.form textarea{width:100%;background:var(--paper);border:1px solid rgba(8,25,31,.24);padding:14px 16px;font-size:14px;border-radius:2px;transition:border-color .2s,box-shadow .2s}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(62,194,163,.22)}
.form textarea{min-height:150px;resize:vertical}
.infolist li{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.infolist svg{color:var(--accent-d);flex-shrink:0;margin-top:2px}
.infolist b{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:3px}
.infolist a,.infolist span{font-size:15px;color:rgba(8,25,31,.72)}
.infolist a:hover{color:var(--accent-d)}

/* ---------- 26. 404 ---------- */
.p404{min-height:74vh;display:grid;place-items:center;text-align:center;background:var(--deep);color:var(--paper);position:relative;overflow:hidden}
.p404 h1{font-size:clamp(70px,16vw,220px);line-height:.8;color:var(--accent)}
.p404 h2{font-size:clamp(22px,3.4vw,40px);margin:14px 0 10px}
.p404 p{color:rgba(242,241,234,.6);max-width:44ch;margin:0 auto 26px}
.snapline{position:absolute;inset:0;pointer-events:none;z-index:1}
.snapline path{fill:none;stroke:rgba(242,241,234,.55);stroke-width:1.5;stroke-dasharray:600;stroke-dashoffset:0;animation:snap 3.4s ease-in-out infinite}
@keyframes snap{0%,42%{stroke-dashoffset:0;opacity:.7}52%{stroke-dashoffset:0;opacity:1}53%{opacity:.2}60%{stroke-dashoffset:300;opacity:.5}100%{stroke-dashoffset:0;opacity:.7}}

/* ---------- 27. Reveal ----------
   Vsebina je vidna takoj. Prej se je pojavljala med scrollanjem, kar je puščalo
   prazne prostore — zdaj se vse naloži in prikaže ob odprtju strani.
   Razred .rv ostaja, ker nanj visi animacija podčrtaja v naslovih. */
.rv{opacity:1;transform:none}

/* ---------- 28. Toast ---------- */
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,120%);z-index:950;background:var(--deep);color:var(--paper);padding:14px 22px;border-radius:40px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 20px 40px -16px rgba(7,18,22,.7);transition:transform .5s var(--ease-back);display:flex;align-items:center;gap:10px}
.toast.is-on{transform:translate(-50%,0)}
.toast svg{color:var(--accent)}

/* ---------- 29. Sound toggle ---------- */
.sndbtn{position:fixed;right:18px;bottom:18px;z-index:60;width:44px;height:44px;border-radius:50%;background:var(--deep);color:rgba(242,241,234,.5);display:grid;place-items:center;box-shadow:0 12px 30px -12px rgba(7,18,22,.7);transition:color .25s,transform .25s}
.sndbtn:hover{transform:scale(1.08)}
.sndbtn.is-on{color:var(--accent)}

/* ============================================================
   30. Responsive
   ============================================================ */
@media (min-width:1100px){ .rail{display:block} }
@media (max-width:1100px){
  .pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vidgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pdp{grid-template-columns:1fr}
  /* Ko se stolpca zložita drug pod drugega, višina vezana na zaslon nima smisla
     — takrat je kvadrat, ki se prilagodi širini. */
  .gal__main{height:auto;aspect-ratio:1/1;max-height:none;min-height:0}
  .cartpage{grid-template-columns:1fr}
  .sumbox{position:static}
  .crewgrid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;padding:10px var(--pad) 22px;border-bottom:1px solid rgba(8,25,31,.14);box-shadow:0 20px 40px -20px rgba(8,25,31,.4)}
  .nav.is-open{display:flex}
  .nav__a{padding:14px 0;font-size:14px}
  .nav__a::after{left:0;right:auto;width:34px;bottom:8px}
  .nav__item{display:flex;flex-direction:column}
  .nav__item>.nav__a svg{transition:transform .25s ease}
  .nav__item.is-open>.nav__a svg{transform:rotate(180deg)}
  .nav__drop{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;background:transparent;
    max-height:0;overflow:hidden;padding:0 0 0 14px;transition:max-height .3s ease}
  .nav__item.is-open .nav__drop{max-height:640px}
  .nav__drop a{padding:9px 0}
  .burger{display:grid}
  .hdr__in{height:72px;gap:8px}
  .logo__img{height:52px}
  /* .nav je skrit, z njim pa izgine tudi margin-inline:auto, ki je potiskal
     orodja na desni rob — zato razmik prevzame .hdr__tools */
  .hdr__tools{margin-left:auto}
  .langsw{margin-right:2px}
  .langsw button{padding:4px 7px;font-size:9px}
  .hero__img{width:100%;height:100%;object-fit:cover;object-position:center;-webkit-mask-image:none;mask-image:none;opacity:.7}
  .hero__scrim{background:linear-gradient(180deg,rgba(8,25,31,.42),rgba(8,25,31,.28) 42%,rgba(8,25,31,.9))}
  .trust__grid{grid-template-columns:repeat(3,1fr)}
  .trust__i{flex-direction:column;text-align:center;gap:6px;padding:15px 6px}
  .trust__i svg{width:22px!important;height:22px!important}
  .trust__i b{font-size:9.5px;letter-spacing:.05em;line-height:1.2}
  .trust__i span{font-size:9px;line-height:1.2}
  .trust__i::before{display:none!important}
  .dropgrid{grid-template-columns:1fr}
  .drop{min-height:380px}
  .story__in{grid-template-columns:1fr}
  .stamp{display:none}
}
@media (max-width:720px){
  .pgrid,.pgrid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .topbar__msg{display:none}
  .topbar__right{display:none}
  .crewgrid{grid-template-columns:1fr}
  .card__foot{padding:11px 12px}
  .card__name{font-size:13px;line-height:1.12;min-height:2.24em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .card__add{width:36px;height:36px}
  /* enotna višina kartic na telefonu (daljša imena ne raztegnejo kartice) */
  .pgrid>.card,.pgrid--3>.card{height:100%}
  /* Večji logotip potrebuje prostor: iskanje in račun sta v demu tako ali tako
     samo obvestilo, zato na ozkih zaslonih odstopita mesto. */
  .hdr__tools .iconbtn:not(.burger){display:none}
  .logo__img{height:46px}
  .lure{display:none}
  .castbtn{padding:11px 14px;font-size:10px}
}
@media (max-width:480px){
  .vidgrid{grid-template-columns:1fr}
  .trust__i::before{display:none!important}
  .pdp__buy{flex-wrap:wrap}
}

/* ============================================================
   32. Tisk / PDF predogled
   Uporablja se pri izvozu v PDF (chrome --headless --print-to-pdf).
   Velikost strani nastavi JS ob ?print=1 — ena zelo visoka stran na
   podstran, da se vsebina nikjer ne odreže na sredini sekcije.
   ============================================================ */
/* Pravila veljajo prek razreda .is-print (ne samo v @media print), da je
   postavitev na zaslonu ENAKA kot pri tisku. Sicer JS izmeri drugačno višino
   dokumenta, kot jo ima natisnjena stran, in vsebina prelije na drugo stran. */
html.is-print, html.is-print body { width: 1280px; background: var(--paper) }

html.is-print *, html.is-print *::before, html.is-print *::after {
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

/* lebdeči in interaktivni elementi v PDF-u nimajo kaj početi */
html.is-print .castbtn, html.is-print .sndbtn, html.is-print .lure,
html.is-print .rail, html.is-print .hookstage, html.is-print .scrim,
html.is-print .mini, html.is-print .modal, html.is-print .sonar,
html.is-print .bubbles, html.is-print .toast { display: none !important }

html.is-print .hdr { position: static !important; box-shadow: none }
html.is-print .sumbox { position: static !important }

/* animacije zamrznemo v izhodiščni legi */
html.is-print .adv__rail { animation: none !important; transform: none !important }
html.is-print .stamp__ring, html.is-print .cartbtn__wave,
html.is-print .vidfeature__dot { animation: none !important }

/* višine, vezane na zaslon, so pri zelo visoki strani nesmiselne */
html.is-print .gal__main { height: 620px !important; max-height: none !important }
html.is-print .p404 { min-height: 640px !important }

@media print {
  @page { margin: 0 }
  .card, .vid, .crewcard, .trust__i, .story__stat, .li { break-inside: avoid }
  a[href]::after { content: none !important }
}

/* ---------- 31. Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
  .bubbles,.rays,.lure,.rail{display:none}
}

/* ===== WooCommerce PDP obrazec v našem slogu ===== */
.pdp__info .woocommerce-variation-price,
.pdp__info .stock,
.pdp__info .reset_variations{display:none}
.pdp__info .woocommerce-variation-add-to-cart,
.pdp__info form.cart:not(.variations_form){display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px}
.pdp__info .quantity{display:inline-flex;align-items:center}
.pdp__info .quantity input.qty{width:68px;height:52px;text-align:center;border:1px solid rgba(8,25,31,.2);background:#fff;font-weight:700}
.pdp__info .single_add_to_cart_button,
.woocommerce .pdp__info .single_add_to_cart_button,
.woocommerce .pdp__info button.single_add_to_cart_button.alt{flex:1;min-width:220px;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:var(--accent)!important;color:var(--deep)!important;border:0;cursor:pointer;height:52px;padding:0 26px;border-radius:0;
  font-family:var(--font-display);font-size:16px;letter-spacing:.04em;text-transform:uppercase;transition:background .25s,transform .25s}
.pdp__info .single_add_to_cart_button:hover,
.woocommerce .pdp__info button.single_add_to_cart_button.alt:hover{background:var(--accent-d)!important;transform:translateY(-2px)}
.pdp__info .woocommerce-variation.single_variation{margin-bottom:12px;font-weight:700}
.pdp__info .wc-no-matching-variations{font-size:13px;opacity:.7}

/* === Popravek: WC doda telesu .woocommerce in sili img{height:auto}, kar razbije
   višino logotipa v glavi (na strani izdelek/trgovina). Vrni fiksno višino. === */
.woocommerce .logo__img{height:68px!important;width:auto!important}
@media (max-width:900px){.woocommerce .logo__img{height:52px!important}}
@media (max-width:720px){.woocommerce .logo__img{height:46px!important}}

/* Zgornja vrstica: sporočilo točno na sredini strani (neodvisno od ikon levo) */
.topbar__msg{position:absolute;left:calc(50% - 10px);top:50%;transform:translate(-50%,-50%);flex:none;width:max-content;max-width:70%;text-align:center}
@media (max-width:720px){.topbar__msg{display:none}}

/* === Enoten slog za VSE WooCommerce gumbe (čez privzeti vijolični) === */
.woocommerce .button,.woocommerce button.button,.woocommerce input.button,.woocommerce a.button:not(.card__add),
.woocommerce #place_order,.woocommerce .wc-proceed-to-checkout .checkout-button{
  background:var(--deep)!important;color:var(--paper)!important;border:0!important;border-radius:2px!important;box-shadow:none!important;
  font-family:var(--font-display)!important;font-weight:400!important;letter-spacing:.04em;text-transform:uppercase;
  padding:14px 26px!important;cursor:pointer;transition:background .25s,transform .25s,color .25s!important}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button:not(.card__add):hover,.woocommerce #place_order:hover,.woocommerce .checkout-button:hover{
  background:var(--accent-d)!important;color:#fff!important;transform:translateY(-2px)}
/* glavni (poudarjeni) gumbi = teal */
.woocommerce .button.alt,.woocommerce #place_order,.woocommerce .wc-proceed-to-checkout .checkout-button{
  background:var(--accent)!important;color:var(--deep)!important}
.woocommerce .button.alt:hover,.woocommerce #place_order:hover,.woocommerce .checkout-button:hover{
  background:var(--accent-d)!important;color:#fff!important}
/* polja v košarici/blagajni */
.woocommerce .input-text,.woocommerce input.input-text,.woocommerce textarea{border:1px solid rgba(8,25,31,.2);border-radius:2px;padding:10px 12px}
.woocommerce table.shop_table{border-radius:2px}

/* Logo v glavi — vedno fiksna višina kot v demu (ne glede na WC img{height:auto}) */
.hdr .logo__img,.woocommerce .hdr .logo__img{height:68px!important;width:auto!important;max-width:none!important;transform:none!important}
@media (max-width:900px){.hdr .logo__img,.woocommerce .hdr .logo__img{height:52px!important}}
@media (max-width:720px){.hdr .logo__img,.woocommerce .hdr .logo__img{height:46px!important}}

/* Zgornji napis poravnan na sredino navigacije (ne strani) — malenkost levo */
.topbar__msg{transform:translate(-50%,-50%)}

/* === Galerija izdelka: puščice levo/desno + brez bele obrobe === */
.gal__main{position:relative;overflow:hidden;background:var(--paper-2)}
.gal__main #galMain{object-fit:cover!important;width:100%;height:100%}
.gal__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border:0;border-radius:50%;
  display:grid;place-items:center;background:rgba(8,25,31,.5);color:var(--paper);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
  cursor:pointer;transition:background .2s,transform .2s,opacity .2s;opacity:.9}
.gal__nav:hover{background:var(--accent);color:var(--deep);opacity:1}
.gal__nav--prev{left:14px}
.gal__nav--next{right:14px}
.gal__nav--prev svg{transform:scaleX(-1)}
.gal__nav:active{transform:translateY(-50%) scale(.9)}
@media (max-width:560px){.gal__nav{width:38px;height:38px}.gal__nav--prev{left:8px}.gal__nav--next{right:8px}}

/* ============ BLAGAJNA / KOŠARICA — uskladi z našo temo ============ */
/* oznake polj */
.woocommerce form .form-row label,.woocommerce-checkout label,.woocommerce-billing-fields label,
.woocommerce-additional-fields label{font-size:12px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;color:var(--deep);opacity:.85;margin-bottom:6px;display:block}
.woocommerce form .form-row{padding:0 0 15px;margin:0}
.woocommerce form .form-row .required{color:var(--accent-d);border:0}
/* vnosna polja */
.woocommerce .form-row input.input-text,.woocommerce .form-row textarea,
.woocommerce-checkout input.input-text,.woocommerce-checkout textarea,
.woocommerce #order_comments,.woocommerce select,
.select2-container--default .select2-selection--single{
  width:100%!important;border:1px solid rgba(8,25,31,.2)!important;border-radius:2px!important;
  padding:12px 14px!important;background:#fff!important;font-size:15px;min-height:48px;
  transition:border-color .2s,box-shadow .2s!important;box-shadow:none!important}
.select2-container--default .select2-selection--single{display:flex;align-items:center}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:12px;right:8px}
.woocommerce .form-row input.input-text:focus,.woocommerce .form-row textarea:focus,
.woocommerce-checkout input.input-text:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(62,194,163,.2)!important;outline:0}
/* obvestila (kupon/info/sporočila) — teal namesto modre */
.woocommerce-info,.woocommerce-message,.woocommerce-noreviews,.woocommerce .woocommerce-info{border-top-color:var(--accent)!important}
.woocommerce-info::before,.woocommerce-message::before{color:var(--accent-d)!important}
.woocommerce .checkout_coupon{border:1px solid rgba(8,25,31,.14);border-radius:4px;background:var(--paper-2)}
.woocommerce-form-coupon-toggle a,.woocommerce a.showcoupon{color:var(--accent-d);font-weight:700}
/* naslovi sekcij */
.woocommerce-checkout h3,#order_review_heading,.woocommerce-billing-fields>h3,
.woocommerce-additional-fields>h3,.woocommerce-shipping-fields>h3{
  font-family:var(--font-display);font-weight:400;font-size:clamp(22px,2.6vw,30px);letter-spacing:.01em;margin:0 0 18px;color:var(--deep)}
/* pregled naročila */
.woocommerce-checkout #order_review{background:var(--paper-2);border:1px solid rgba(8,25,31,.1);border-radius:4px;padding:22px}
.woocommerce-checkout #order_review table.shop_table{background:transparent;border:0;margin:0}
.woocommerce-checkout #order_review th,.woocommerce-checkout #order_review td{border-top:1px solid rgba(8,25,31,.1);padding:11px 4px;color:var(--deep)}
.woocommerce-checkout #order_review .order-total th,.woocommerce-checkout #order_review .order-total .amount{font-weight:800;color:var(--deep)}
/* plačilni del */
.woocommerce-checkout #payment{background:#fff!important;border-radius:4px;border:1px solid rgba(8,25,31,.08)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid rgba(8,25,31,.08)}
.woocommerce-checkout #payment div.payment_box{background:var(--paper-2)!important;border-radius:4px}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--paper-2)!important}
.woocommerce #payment #place_order,.woocommerce-checkout #place_order{width:100%!important;margin-top:6px;font-size:16px}
/* odstrani privzete sive okvirje okoli sekcij */
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{float:none;width:100%}

/* === Blagajna: centrirana postavitev v dveh stolpcih === */
.woocommerce-checkout .woocommerce{max-width:1100px;margin:0 auto}
.woocommerce-checkout form.checkout.woocommerce-checkout{display:grid;grid-template-columns:1.25fr .85fr;grid-template-rows:auto 1fr;gap:10px 48px;align-items:start}
.woocommerce-checkout #customer_details{grid-column:1;grid-row:1 / span 2}
.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;margin-top:0}
.woocommerce-checkout #order_review{grid-column:2;grid-row:2;position:sticky;top:100px}
/* znotraj levega stolpca naj se billing + dodatno zložita eno pod drugo */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{width:100%;float:none;margin-bottom:8px}
/* kupon vrstica poravnana z gridom */
.woocommerce-checkout .woocommerce-form-coupon-toggle{max-width:1100px;margin:0 auto 10px}
@media (max-width:860px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{grid-template-columns:1fr}
  .woocommerce-checkout #customer_details{grid-column:1;grid-row:auto}
  .woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:1;grid-row:auto;position:static}
}

/* === Poenostavitev blagajne in strani PO NAROČILU na telefonu === */
@media (max-width:600px){
  /* Ime / Priimek (in druga par-polja) čez celo širino — ne stlačeno */
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last,
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last{width:100%;float:none;margin-right:0}
  .woocommerce-checkout #order_review{padding:16px}
  /* Naslova (Račun / Dostava) eden pod drugim */
  .woocommerce-columns--addresses .woocommerce-column,
  .woocommerce .col2-set .col-1,
  .woocommerce .col2-set .col-2{width:100%!important;float:none!important;margin:0 0 22px}
  /* Pregled naročila — vsaka postavka v svoji vrstici, čitljivo */
  ul.woocommerce-order-overview{display:block;border:0;margin:0 0 22px;padding:0}
  ul.woocommerce-order-overview li{float:none;width:auto;border:0;border-bottom:1px solid rgba(8,25,31,.12);padding:9px 0;margin:0;font-size:12px}
  ul.woocommerce-order-overview li strong{display:block;font-size:15px;margin-top:3px;text-transform:none}
}
/* Stran po naročilu — čist videz (bančni podatki, tabele, naslovi) */
.woocommerce-order{max-width:760px;margin:0 auto}
/* BACS bančni podatki — čisto, vsako polje v svoji vrstici (seznam ALI tabela) */
ul.wc-bacs-bank-details,ul.bacs_details{list-style:none!important;background:var(--paper-2);border:1px solid rgba(8,25,31,.1);border-radius:8px;padding:14px 18px!important;margin:4px 0 26px!important}
ul.wc-bacs-bank-details li,ul.bacs_details li{display:block!important;float:none!important;width:auto!important;padding:5px 0!important;border:0!important;margin:0!important;font-size:14px;line-height:1.5;word-break:break-word}
table.wc-bacs-bank-details,table.bacs_details{width:100%;border-collapse:collapse;background:var(--paper-2);border:1px solid rgba(8,25,31,.1);border-radius:8px;margin:4px 0 26px;overflow:hidden}
table.wc-bacs-bank-details thead,table.bacs_details thead{display:none}
table.wc-bacs-bank-details tr,table.bacs_details tr{display:block}
table.wc-bacs-bank-details td,table.bacs_details td{display:block;padding:8px 16px;border:0;border-top:1px solid rgba(8,25,31,.08);word-break:break-word;font-weight:700;font-size:14px}
table.wc-bacs-bank-details td:first-child,table.bacs_details td:first-child{border-top:0}
table.wc-bacs-bank-details td::before,table.bacs_details td::before{content:attr(data-title);display:block;font-size:11px;letter-spacing:.07em;text-transform:uppercase;opacity:.6;font-weight:600;margin-bottom:2px}
.woocommerce-order-details table.shop_table{border-radius:8px}
.woocommerce-order-details table.shop_table th,
.woocommerce-order-details table.shop_table td{padding:12px 10px}
.woocommerce-order h2,.woocommerce-column__title,.woocommerce-order-details__title{font-size:18px;margin:26px 0 12px}
.woocommerce-customer-details address{padding:14px 16px;border:1px solid rgba(8,25,31,.1);border-radius:8px;font-style:normal;line-height:1.6}

/* Skrij vrstico "Vmesni seštevek" (subtotal) — enak skupnemu znesku, odveč */
.woocommerce-checkout #order_review tr.cart-subtotal,
.woocommerce-cart .cart_totals tr.cart-subtotal,
.woocommerce table.shop_table tr.cart-subtotal{display:none}

/* Preklopnik jezika: isti slog za <a> povezave kot prej za <button> */
.langsw a{display:inline-block;font-weight:800;letter-spacing:.09em;border-radius:20px;
  transition:background .2s,color .2s;color:var(--deep);text-decoration:none;line-height:1;padding:5px 9px;font-size:10px;cursor:pointer}
.langsw a.is-on{background:var(--deep);color:var(--accent)}
.langsw a:not(.is-on):hover{background:rgba(8,25,31,.09)}
@media (max-width:720px){.langsw a{padding:4px 7px;font-size:9px}}

/* === PDP: količinski +/- stepper === */
.pdp__info .quantity.qtystep{display:inline-flex;align-items:center;border:1px solid rgba(8,25,31,.2);border-radius:2px;overflow:hidden;height:52px}
.pdp__info .quantity.qtystep input.qty{width:46px;height:50px;border:0!important;border-left:1px solid rgba(8,25,31,.12)!important;border-right:1px solid rgba(8,25,31,.12)!important;background:#fff;text-align:center;font-weight:800;font-size:16px;-moz-appearance:textfield;border-radius:0!important}
.pdp__info .quantity.qtystep input.qty::-webkit-outer-spin-button,
.pdp__info .quantity.qtystep input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qtystep__b{width:44px;height:50px;display:grid;place-items:center;background:var(--paper-2);color:var(--deep);cursor:pointer;border:0;transition:background .2s,color .2s}
.qtystep__b:hover{background:var(--accent);color:var(--deep)}
.qtystep__b:active{transform:scale(.94)}

/* Drsnik košarice: brez vstopne animacije vrstic (povzročala je utrip/glitch
   ob odpiranju in po ujetju izdelka s trnkom). Slika fiksne velikosti. */
.mini .li{animation:none!important}

/* Skrij "(vključuje X € DDV)" pripis pri seštevku — cene že vključujejo DDV,
   kupca zmede; DDV se še vedno obračuna in je na računu. */
.includes_tax,small.includes_tax{display:none!important}

/* Gumb "Razprodano" na strani izdelka (cel izdelek ali izbrana velikost) */
.pdp__soldout{margin-top:6px}
.pdp__soldout .single_add_to_cart_button{width:100%}
.pdp__info .single_add_to_cart_button.is-soldout,
.woocommerce .pdp__info .single_add_to_cart_button.is-soldout,
.pdp__soldout .single_add_to_cart_button{
  background:rgba(8,25,31,.3)!important;color:#fff!important;cursor:not-allowed;
  pointer-events:none;transform:none!important}

/* Značke na karticah: NOVO (nova izdaja) + zlaganje več značk */
.card__badges{position:absolute;top:10px;right:10px;z-index:2;display:flex;flex-direction:column;gap:6px;align-items:flex-end;pointer-events:none}
.card__badges .card__badge{position:static;top:auto;right:auto}
.card__badge--new{background:#E2603F;color:#fff;font-size:11px;padding:6px 12px;letter-spacing:.18em;transform:rotate(3deg);box-shadow:0 5px 16px rgba(226,96,63,.45);animation:newPulse 2.4s ease-in-out infinite}
@keyframes newPulse{0%,100%{box-shadow:0 0 0 0 rgba(226,96,63,.55)}50%{box-shadow:0 0 0 8px rgba(226,96,63,0)}}

/* "Nova izdaja" sekcija — poudarjen koralni kicker + utripajoča pika */
.sechead__kicker--new{color:#E2603F!important;display:inline-flex;align-items:center;gap:8px}
.newdot{width:8px;height:8px;border-radius:50%;background:#E2603F;display:inline-block;flex-shrink:0;animation:newPulse 2.4s ease-in-out infinite}

/* Spodnji "Latest videos" so povezave na YouTube (ne predvajanje na strani) */
a.vid{display:block;color:inherit;text-decoration:none;cursor:pointer}

/* Mesto za hitra plačila v drsniku (prazno = skrito; napolni Stripe ob objavi) */
.mini__express{margin-bottom:10px}
.mini__express:empty{display:none;margin:0}
