/* Vinska klet Prus — predlog v4: predstavitev podjetja, minimalistično, samo serif. */
:root{
  --bg:#fff;
  --soft:#f6f3ef;
  --ink:#1d1a1a;
  --mute:#76706d;
  --wine:#5c1a27;
  --line:#e6e0da;
  --serif:"EB Garamond",Georgia,serif;
  --pad:clamp(20px,5vw,80px);
  --ease:cubic-bezier(.22,.8,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{font-family:var(--serif);font-size:19px;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
figure{overflow:hidden}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3{font-weight:400;line-height:1.08;letter-spacing:-.01em}
h2{font-size:clamp(36px,3.6vw,56px);margin-bottom:24px}
h3{font-size:28px;margin-bottom:10px}
.over{font-size:13px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--wine);margin-bottom:20px}
[data-svg]{display:block}[data-svg] svg{display:block;width:100%;height:auto}

.btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 32px;background:var(--wine);color:#fff;font-size:15px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:background .3s}
.btn:hover{background:var(--ink)}
.btn--line{background:none;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.btn--line:hover{background:var(--ink);color:#fff}
.link{display:inline-block;margin-top:28px;font-size:15px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--wine);border-bottom:1px solid currentColor;padding-bottom:4px}
.note{font-size:16px;color:var(--mute)}

/* razkrivanje */
.rv{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* navigacija */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:40px;padding:22px var(--pad);color:#fff;transition:background .4s,color .4s,padding .4s,border-color .4s;border-bottom:1px solid transparent}
.nav.solid{background:rgba(255,255,255,.97);color:var(--ink);padding-top:14px;padding-bottom:14px;border-bottom-color:var(--line)}
.nav__logo{width:230px;color:inherit}
.nav__links{display:flex;gap:32px;margin-left:auto}
.nav__links a{font-size:17px;letter-spacing:.04em;text-decoration:none;opacity:.92}
.nav__links a:hover{opacity:1;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.nav__shop{font-size:14px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:10px 18px;box-shadow:inset 0 0 0 1px currentColor;transition:background .3s,color .3s}
.nav.solid .nav__shop{background:var(--wine);color:#fff;box-shadow:none}
.nav__shop:hover{background:#fff;color:var(--ink)}
.nav.solid .nav__shop:hover{background:var(--ink)}

/* 1. prvi zaslon */
.hero{position:relative;height:100vh;min-height:600px;color:#fff;display:grid;place-items:center;text-align:center;overflow:hidden}
.hero picture,.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero img{animation:zoom 14s var(--ease) both}
@keyframes zoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,12,10,.55),rgba(20,12,10,.35) 40%,rgba(20,12,10,.6))}
.hero__in{position:relative;z-index:1;padding:0 20px}
.hero__znak{width:150px;margin:0 auto 36px;color:#fff}
.over--light{color:rgba(255,255,255,.85)}
.hero h1{font-size:clamp(54px,8vw,128px);margin-bottom:18px}
.hero__lead{font-size:clamp(20px,1.8vw,26px);font-style:italic;opacity:.9}
.hero__down{position:absolute;z-index:1;bottom:34px;left:50%;transform:translateX(-50%);font-size:13px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;padding-bottom:46px;white-space:nowrap}
.hero__down::after{content:"";position:absolute;left:50%;bottom:0;width:1px;height:36px;background:rgba(255,255,255,.7);animation:line 2.4s ease-in-out infinite}
@keyframes line{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* 2. domačija */
.intro{padding:150px var(--pad) 0;text-align:center;max-width:1240px;margin:0 auto}
.intro__big{font-size:clamp(26px,2.5vw,38px);line-height:1.4;max-width:980px;margin:0 auto}
.nums{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);margin:90px 0 100px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.nums li{padding:34px 10px;display:flex;flex-direction:column;gap:6px}
.nums li+li{border-left:1px solid var(--line)}
.nums b{font-weight:400;font-size:clamp(40px,4vw,60px);line-height:1;color:var(--wine)}
.nums span{font-size:16px;color:var(--mute);font-style:italic}
.intro__img{aspect-ratio:16/8}
.intro__img img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}

/* 3. vinogradi */
.lege{position:relative;margin-top:150px;min-height:780px;display:flex;align-items:flex-end;padding:0 var(--pad) 80px}
.lege__img{position:absolute;inset:0}
.lege__img img{width:100%;height:100%;object-fit:cover}
.lege__card{position:relative;background:#fff;max-width:540px;padding:56px 52px}
.lege__list{list-style:none;margin-top:30px;border-top:1px solid var(--line)}
.lege__list li{display:flex;gap:22px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line);font-size:24px}
.lege__list span{font-size:14px;color:var(--wine);letter-spacing:.1em}

/* 4. priznanja */
.awards{display:grid;grid-template-columns:.9fr 1.2fr 1fr;gap:70px;align-items:center;padding:150px var(--pad)}
.awards__num{text-align:center}
.awards__num b{display:block;font-weight:400;font-size:clamp(140px,15vw,240px);line-height:.8;color:var(--wine)}
.awards__num p{font-style:italic;font-size:26px;margin-top:22px}
.awards__years{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:clamp(22px,2vw,30px);color:var(--wine);margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.awards__quote{margin-top:24px;font-style:italic;font-size:22px;color:var(--mute)}
.awards__img{aspect-ratio:4/5}
.awards__img img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}

/* 5. vina */
.wines{background:var(--soft);padding:140px var(--pad)}
.wines__head{text-align:center;max-width:720px;margin:0 auto 80px}
.wines__head p:last-child{color:var(--mute)}
.wines__row{display:grid;grid-template-columns:repeat(5,1fr);max-width:1400px;margin:0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.wine{display:flex;flex-direction:column;align-items:center;text-align:center;padding:50px 24px 40px;text-decoration:none;cursor:pointer;transition:background .4s}
.wine+.wine{border-left:1px solid var(--line)}
.wine:hover{background:#fff}
.wine__img{height:330px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:34px}
.wine__img img{height:100%;width:auto;max-width:none;transition:transform .7s var(--ease)}
.wine__img img.k{height:76%}
.wine:hover .wine__img img{transform:translateY(-10px)}
.wine h3{font-size:26px;margin-bottom:8px}
.wine p{font-size:16px;color:var(--mute);line-height:1.5}
.wine .wine__n{margin-top:16px;font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--wine)}
.wines__cta{text-align:center;margin-top:70px}

/* 6. klet */
.cellar{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;padding:150px var(--pad)}
.cellar__text{grid-column:1;grid-row:1;align-self:end;padding-right:30px}
.cellar__a{grid-column:2/4;grid-row:1;aspect-ratio:16/9}
.cellar__b{grid-column:1/3;grid-row:2;aspect-ratio:16/8}
.cellar__c{grid-column:3;grid-row:2}
.cellar img{width:100%;height:100%;object-fit:cover}

/* 7. degustacije */
.tasting{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;background:var(--ink);color:#f3eee9}
.tasting .over{color:#d9a6ae}
.tasting__img{height:100%;min-height:720px}
.tasting__img img{width:100%;height:100%;object-fit:cover}
.tasting__text{padding:100px var(--pad);max-width:680px}
.prices{list-style:none;margin:34px 0 12px;border-top:1px solid rgba(255,255,255,.18)}
.prices li{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.prices li span:last-child{font-size:22px}
.tasting .note{color:rgba(243,238,233,.6)}
.tasting .link{color:#f3eee9}

/* 8. ponudba */
.offer{padding:150px var(--pad)}
.offer__head{text-align:center;margin-bottom:70px}
.offer__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:1400px;margin:0 auto}
.offer__grid article:nth-child(2){margin-top:90px}
.offer figure{aspect-ratio:4/5;margin-bottom:26px}
.offer figure img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.offer article:hover figure img{transform:scale(1.04)}
.offer__n{font-size:15px;color:var(--wine);letter-spacing:.2em;margin-bottom:6px}
.offer article>p:last-child{color:var(--mute);max-width:400px}

/* 9. kontakt */
.contact{display:grid;grid-template-columns:1fr 1fr;align-items:center;border-top:1px solid var(--line)}
.contact__img{height:100%;min-height:620px}
.contact__img img{width:100%;height:100%;object-fit:cover}
.contact__text{padding:100px var(--pad)}
.contact dl{display:grid;grid-template-columns:110px 1fr;gap:14px 20px;margin:10px 0 26px;font-size:21px}
.contact dt{font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);padding-top:6px}
.contact dd a{text-decoration:none}
.contact dd a:hover{color:var(--wine)}

.foot{background:var(--ink);color:#e9e2dc;padding:110px var(--pad) 0}
.foot a{text-decoration:none}
.foot__top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:70px;border-bottom:1px solid rgba(255,255,255,.14)}
.foot__logo{display:block;width:min(560px,60%);color:#f3eee9}
.foot__logo svg{margin-left:-10.5%}
.foot__claim{font-style:italic;font-size:22px;line-height:1.5;color:rgba(243,238,233,.7);text-align:right}
.foot__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding:60px 0 80px}
.foot__cols h4{font-size:13px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#d9a6ae;margin-bottom:20px}
.foot__cols a,.foot__cols p{display:block;font-size:19px;line-height:1.9;color:#f3eee9}
.foot__cols a:hover{color:#d9a6ae}
.foot__bar{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:26px 0;border-top:1px solid rgba(255,255,255,.14);font-size:15px;color:rgba(243,238,233,.55)}
.foot__bar a{text-decoration:underline;text-underline-offset:3px}

/* polnoletnost */
.gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(29,26,26,.6)}
.gate[hidden]{display:none}
.gate__in{background:#fff;max-width:440px;padding:46px 38px;text-align:center}
.gate h2{font-size:38px;margin-bottom:12px}
.gate p{color:var(--mute)}
.gate__btns{display:flex;gap:12px;justify-content:center;margin-top:28px}
.gate__btns[hidden]{display:none}
.gate__no{margin-top:18px}

.swipe{display:none}
.toast{position:fixed;left:50%;bottom:24px;z-index:90;transform:translate(-50%,150%);visibility:hidden;background:var(--ink);color:#fff;padding:12px 20px;font-size:16px;transition:transform .4s var(--ease);max-width:calc(100% - 32px)}
.toast.on{transform:translate(-50%,0);visibility:visible}

@media (max-width:1100px){
  .nav__links{gap:20px}
  .nav__links a{font-size:16px}
  .wines__row{grid-template-columns:repeat(3,1fr)}
  .wine:nth-child(4){border-left:0}
  .wine:nth-child(n+4){border-top:1px solid var(--line)}
  .awards{grid-template-columns:1fr 1fr}
  .awards__img{display:none}
}
@media (max-width:900px){.nav__links{display:none}.nav__shop{margin-left:auto}}
@media (max-width:760px){
  body{font-size:18px}
  .nav{padding:16px 20px}
  .nav.solid{padding:12px 20px}
  .nav__logo{width:170px}
  .nav__shop{font-size:12px;padding:9px 14px}
  .nav__shop-d{display:none}
  .hero{min-height:560px;height:92vh}
  .hero__znak{width:110px;margin-bottom:28px}
  .intro{padding:90px 20px 0}
  .nums{grid-template-columns:1fr 1fr;margin:60px 0}
  .nums li:nth-child(3){border-left:0}
  .nums li:nth-child(n+3){border-top:1px solid var(--line)}
  .intro__img{aspect-ratio:4/3}
  .lege{margin-top:0;min-height:0;display:block;padding:0}
  .lege__img{position:relative;height:56vh}
  .lege__card{margin:-90px 16px 0;padding:40px 24px 30px;box-shadow:0 20px 50px rgba(29,26,26,.12)}
  .awards{grid-template-columns:1fr;gap:40px;padding:90px 20px}
  .awards__img{display:block;aspect-ratio:4/5;margin:0 -20px -90px}
  .wines{padding:90px 20px}
  .wines__head{margin-bottom:40px}
  .wines__row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px;border:0;gap:12px;scrollbar-width:none}
  .wines__row::-webkit-scrollbar{display:none}
  .wine,.wine+.wine{flex:0 0 72%;scroll-snap-align:center;border:0;background:#fff;padding:36px 18px 30px}
  .wine__img{height:260px;margin-bottom:24px}
  .wine h3{font-size:22px}
  .cellar{grid-template-columns:1fr 1fr;padding:90px 20px;gap:12px}
  .cellar__text{grid-column:1/3;padding:0 0 20px}
  .cellar__a{grid-column:1/3;grid-row:2}
  .cellar__b{grid-column:1;grid-row:3;aspect-ratio:1}
  .cellar__c{grid-column:2;grid-row:3}
  .tasting{grid-template-columns:1fr}
  .tasting__img{min-height:0;height:52vh}
  .tasting__text{padding:60px 20px 70px}
  .offer{padding:90px 20px}
  .offer__head{margin-bottom:40px}
  .offer__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px;gap:16px;scrollbar-width:none}
  .offer__grid::-webkit-scrollbar{display:none}
  .offer__grid article{flex:0 0 82%;scroll-snap-align:center}
  .swipe{display:block;text-align:center;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin:-24px 0 24px}
  .swipe::after{content:" →"}
  .offer__grid article:nth-child(2){margin-top:0}
  .contact{grid-template-columns:1fr}
  .contact__img{min-height:0;height:46vh}
  .contact__text{padding:60px 20px 70px}
  .contact dl{grid-template-columns:1fr;gap:2px;font-size:20px}
  .contact dd{margin-bottom:14px}
  .foot{padding:70px 20px 0}
  .foot__top{flex-direction:column;align-items:flex-start;gap:26px;padding-bottom:44px}
  .foot__logo{width:100%;max-width:340px}
  .foot__claim{text-align:left;font-size:20px}
  .foot__cols{grid-template-columns:1fr 1fr;gap:36px 20px;padding:44px 0 50px}
  .foot__cols a,.foot__cols p{font-size:17px}
  .foot__bar{flex-direction:column;gap:4px;padding:22px 0 26px}
}
