/* Vino danas: Zaviša Njagojević, enolog */

@font-face {
  font-family: "Literata";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/literata-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Literata";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/literata-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/fonts/manrope-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/fonts/manrope-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --vino: #6e0f22;
  --vino-2: #8a1a31;
  --vino-d: #3b0a14;
  --vino-t: rgba(110, 15, 34, .07);
  --papir: #f7f2ea;
  --papir-2: #efe6d8;
  --belo: #fffdf9;
  --crta: #e0d4c2;
  --crta-2: #cbbba6;
  --tinta: #221a1b;
  --tinta-2: #4a3f3d;
  --siva: #6c605c;
  --zlato: #b08a3e;
  --zlato-s: #f1d9a6;
  --ok: #1e5a2b;
  --greska: #a4231b;
  --r: 16px;
  --r-s: 10px;
  --senka: 0 1px 2px rgba(34, 26, 27, .05), 0 12px 32px -14px rgba(34, 26, 27, .28);
  --f-serif: "Literata", Georgia, "Times New Roman", serif;
  --f-sans: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --gutter: 16px;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 96px; scrollbar-color: #b9a58f var(--papir-2); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  background: var(--papir);
  color: var(--tinta);
  font-family: var(--f-serif);
  font-size: 1.0625rem;
  line-height: 1.7;
  font-optical-sizing: auto;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
img, svg { display: block; max-width: 100%; height: auto; }
a { color: var(--vino); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
h1, h2, h3, h4 { font-family: var(--f-serif); font-weight: 600; line-height: 1.15; letter-spacing: -.012em; margin: 0 0 .5em; color: var(--tinta); text-wrap: balance; }
h1 { font-size: clamp(2.1rem, 1.35rem + 3.3vw, 3.9rem); line-height: 1.06; }
h2 { font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.35rem); }
h3 { font-size: 1.25rem; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-left: 1.2em; }
button, input, select, textarea { font: inherit; color: inherit; }
::selection { background: var(--vino); color: #fff; }
:focus-visible { outline: 3px solid var(--vino); outline-offset: 3px; border-radius: 4px; }
main:focus { outline: none; }
.sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.broj, .cena, .zbir, .knjiga-podaci, .cinjenice, .tabela { font-variant-numeric: tabular-nums lining-nums; }

.omot { width: 100%; max-width: 1220px; margin-inline: auto; padding-inline: var(--gutter); }
.omot-citanje { max-width: calc(760px + 2 * var(--gutter)); }
.omot-uzak { max-width: calc(880px + 2 * var(--gutter)); }
@media (min-width: 700px) { :root { --gutter: 28px; } }
@media (min-width: 1100px) { :root { --gutter: 36px; } }

/* ---------- vrh ---------- */
.preskoci { position: absolute; left: 12px; top: -80px; z-index: 100; background: var(--vino); color: #fff; padding: 10px 16px; border-radius: 8px; font: 700 .95rem var(--f-sans); text-decoration: none; }
.preskoci:focus { top: 12px; }
.napredak { position: fixed; inset: 0 0 auto 0; height: 3px; z-index: 70; pointer-events: none; }
.napredak span { display: block; height: 100%; background: linear-gradient(90deg, var(--vino), #a8243f); transform-origin: 0 50%; transform: scaleX(0); }
.pregled-traka { margin: 0; background: var(--vino-d); color: #f6e3e6; font: 600 .8rem/1.4 var(--f-sans); text-align: center; padding: 8px var(--gutter); letter-spacing: .01em; }

.zaglavlje { position: sticky; top: 0; z-index: 50; background: rgba(247, 242, 234, .98); border-bottom: 1px solid var(--crta); }
@supports (backdrop-filter: blur(8px)) { .zaglavlje { background: rgba(247, 242, 234, .96); backdrop-filter: saturate(1.2) blur(10px); } }
.zaglavlje-red { display: flex; align-items: center; gap: 16px; min-height: 68px; }
.znak { display: inline-flex; flex-direction: column; text-decoration: none; line-height: 1.1; padding: 6px 0; margin-right: auto; }
.znak-ime { font: 700 1.5rem/1 var(--f-serif); color: var(--vino); letter-spacing: -.02em; }
.znak-pod { font: 700 .66rem/1.2 var(--f-sans); letter-spacing: .13em; text-transform: uppercase; color: var(--siva); margin-top: 5px; }
.meni ul { list-style: none; margin: 0; padding: 0; }
.meni a { font-family: var(--f-sans); font-weight: 600; text-decoration: none; color: var(--tinta); }
.meni a[aria-current="page"] { color: var(--vino); }
.meni .meni-tel { display: none; }
.zaglavlje .zaglavlje-tel { display: none; }
.zaglavlje-tel svg, .traka-tel svg { width: 18px; height: 18px; fill: currentColor; flex: none; }
.meni-dugme { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; border: 1.5px solid var(--crta-2); border-radius: 999px; background: var(--belo); font: 700 .9rem var(--f-sans); cursor: pointer; color: var(--tinta); }
.meni-ikona, .meni-ikona::before, .meni-ikona::after { display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; transition: transform .25s ease, opacity .2s; }
.meni-ikona { position: relative; }
.meni-ikona::before, .meni-ikona::after { content: ""; position: absolute; left: 0; }
.meni-ikona::before { top: -6px; }
.meni-ikona::after { top: 6px; }
.meni-dugme[aria-expanded="true"] .meni-ikona { background: transparent; }
.meni-dugme[aria-expanded="true"] .meni-ikona::before { transform: translateY(6px) rotate(45deg); }
.meni-dugme[aria-expanded="true"] .meni-ikona::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 1023.98px) {
  .meni { display: none; }
  .meni.otvoren { display: block; position: fixed; left: 0; right: 0; bottom: 0; top: var(--meni-vrh, 68px); background: var(--papir); z-index: 55; overflow-y: auto; padding: 12px var(--gutter) 40px; border-top: 1px solid var(--crta); }
  .meni.otvoren li a { display: block; font: 600 1.5rem/1.3 var(--f-serif); padding: 16px 0; border-bottom: 1px solid var(--crta); }
  .meni.otvoren .meni-tel { display: flex; justify-content: center; margin-top: 24px; min-height: 52px; align-items: center; border-radius: var(--r-s); background: var(--vino); color: #fff; font: 700 1rem var(--f-sans); }
  body.meni-otvoren { overflow: hidden; }
  body.meni-otvoren .zaglavlje { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--papir); }
}
@media (min-width: 1024px) {
  .meni { display: block; }
  .meni ul { display: flex; gap: 2px; }
  .meni a { display: block; padding: 10px 14px; border-radius: 8px; font-size: .95rem; }
  .meni a:hover { background: var(--papir-2); }
  .meni a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 8px; }
  .meni-dugme { display: none; }
  .zaglavlje .zaglavlje-tel { display: inline-flex; }
}

/* ---------- dugmad ---------- */
.dugme { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 24px; border: 1.5px solid var(--vino); border-radius: var(--r-s); background: var(--vino); color: #fff; font: 700 .98rem/1.2 var(--f-sans); letter-spacing: .005em; text-decoration: none; text-align: center; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s; }
.dugme:hover { background: var(--vino-2); border-color: var(--vino-2); box-shadow: 0 8px 20px -10px rgba(110, 15, 34, .7); }
.dugme:active { transform: translateY(1px); }
.dugme-obris { background: transparent; color: var(--vino); }
.dugme-obris:hover { background: var(--vino); color: #fff; }
.dugme-mali { min-height: 44px; padding: 0 16px; font-size: .9rem; }
.dugme-puno { width: 100%; }
.dugme-svetlo { background: #fff; color: var(--vino); border-color: #fff; }
.dugme-svetlo:hover { background: var(--zlato-s); border-color: var(--zlato-s); color: var(--vino-d); }
.dugme-obris-svetlo { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .7); }
.dugme-obris-svetlo:hover { background: #fff; color: var(--vino); }
.akcije { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.link-strelica { font: 700 .95rem var(--f-sans); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }
.link-strelica::after { content: "→"; transition: transform .2s; }
.link-strelica:hover::after { transform: translateX(4px); }

/* ---------- tipografski delovi ---------- */
.nadnaslov { display: flex; align-items: center; gap: 12px; font: 700 .76rem/1.4 var(--f-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--vino); margin-bottom: 18px; }
.nadnaslov::before { content: ""; width: 28px; height: 2px; background: currentColor; flex: none; }
.uvod { font-size: clamp(1.1rem, 1rem + .4vw, 1.28rem); line-height: 1.6; color: var(--tinta-2); max-width: 62ch; }
.oznaka { display: inline-block; align-self: flex-start; margin: 0; padding: 3px 10px; border-radius: 999px; background: var(--vino-t); color: var(--vino); font: 700 .7rem/1.6 var(--f-sans); letter-spacing: .08em; text-transform: uppercase; }
.istaknuto { font-size: 1.2rem; line-height: 1.55; color: var(--tinta); border-left: 3px solid var(--vino); padding-left: 18px; }
.napomena-okvir { background: var(--belo); border: 1px solid var(--crta); border-left: 4px solid var(--zlato); border-radius: var(--r-s); padding: 14px 18px; font-size: .96rem; color: var(--tinta-2); }
.kvacice { list-style: none; padding: 0; }
.kvacice li { position: relative; padding-left: 30px; margin-bottom: .6em; }
.kvacice li::before { content: ""; position: absolute; left: 4px; top: .42em; width: 7px; height: 13px; border: solid var(--vino); border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); }
.tekst h2 { margin-top: 1.8em; }
.tekst h2:first-child { margin-top: 0; }
.tekstovi-lista { display: grid; gap: 18px; }
.tekst-kartica { padding: clamp(22px, 4vw, 36px); background: var(--belo); border: 1px solid var(--crta); border-radius: var(--r); }
.tekst-kartica h2 { font-size: clamp(1.3rem, 1.1rem + .8vw, 1.8rem); margin-bottom: .35em; }
.tekst-kartica h2 a { color: var(--tinta); text-decoration: none; }
.tekst-kartica h2 a:hover { color: var(--vino); text-decoration: underline; }
.tekst-kartica p:not(.tekst-datum) { color: var(--tinta-2); }
.tekst-datum { color: var(--siva); font: 600 .8rem/1.5 var(--f-sans); letter-spacing: .02em; }
.tekst-sadrzaj { overflow-wrap: anywhere; }
.tekst-sadrzaj h2, .tekst-sadrzaj h3 { scroll-margin-top: 95px; }
.tekst-sadrzaj figure { margin: 2em 0; }
.tekst-sadrzaj figure img { width: auto; margin-inline: auto; border-radius: var(--r-s); }
.tekst-sadrzaj figcaption { margin-top: 8px; color: var(--siva); font: 500 .85rem/1.5 var(--f-sans); text-align: center; }
.tekst-sadrzaj blockquote { margin: 2em 0; padding: 8px 0 8px 22px; border-left: 3px solid var(--vino); color: var(--tinta-2); }
.tekst-sadrzaj table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font: 500 .9rem/1.5 var(--f-sans); }
.tekst-sadrzaj th, .tekst-sadrzaj td { padding: 9px 12px; border: 1px solid var(--crta); text-align: left; }
.tekst-povratak { padding-block: clamp(32px, 5vw, 64px); }

/* ---------- sekcije ---------- */
.sekcija { position: relative; padding-block: clamp(56px, 7vw, 108px); overflow: hidden; }
.sekcija-ton { background: var(--papir-2); }
.sekcija-bez-vrha { padding-top: 8px; }
.strana-glava + .sekcija { padding-top: clamp(16px, 3vw, 40px); }
.sekcija-glava { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin-bottom: 28px; position: relative; }
.sekcija-glava h2 { margin: 0; }
.sekcija-uvod { max-width: 70ch; color: var(--tinta-2); }
.duh { display: none; }
@media (min-width: 860px) { .duh { display: block; position: absolute; top: -.2em; right: calc(var(--gutter) - .04em); margin: 0; font: 700 clamp(6rem, 11vw, 10.5rem)/1 var(--f-serif); letter-spacing: -.03em; color: transparent; -webkit-text-stroke: 1px rgba(110, 15, 34, .12); pointer-events: none; user-select: none; white-space: nowrap; z-index: 0; } }
.sekcija > .omot { position: relative; }
.sekcija > .omot > *:not(.duh) { position: relative; z-index: 1; }

/* ---------- hero ---------- */
.hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--crta); }
.hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(110, 15, 34, .06) 1px, transparent 1px), linear-gradient(to bottom, rgba(110, 15, 34, .06) 1px, transparent 1px); background-size: 56px 56px; -webkit-mask-image: radial-gradient(ellipse 70% 80% at 75% 45%, #000 20%, transparent 75%); mask-image: radial-gradient(ellipse 70% 80% at 75% 45%, #000 20%, transparent 75%); pointer-events: none; }
.hero::after { content: ""; position: absolute; width: 60vw; height: 60vw; max-width: 760px; max-height: 760px; right: -12vw; top: -10vw; background: radial-gradient(circle, rgba(138, 26, 49, .16), transparent 62%); pointer-events: none; }
.hero-mreza { position: relative; z-index: 1; display: grid; gap: 28px; padding-block: clamp(36px, 6vw, 92px) clamp(40px, 6vw, 96px); align-items: center; }
.hero h1 { margin-bottom: .35em; max-width: 13ch; }
.cinjenice { list-style: none; padding: 0; margin: 26px 0 28px; display: flex; flex-wrap: wrap; gap: 14px 0; }
.cinjenice li { font: 600 .9rem/1.3 var(--f-sans); color: var(--siva); padding-right: 20px; margin-right: 20px; border-right: 1px solid var(--crta-2); display: flex; flex-direction: column; }
.cinjenice li:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
.cinjenice strong { font: 700 1.45rem/1.2 var(--f-serif); color: var(--vino); }
.hero-knjige { position: relative; height: clamp(300px, 78vw, 440px); max-width: 560px; width: 100%; margin-inline: auto; }
.hero-knjige::after { content: ""; position: absolute; left: 8%; right: 8%; bottom: 2%; height: 12%; background: radial-gradient(ellipse at center, rgba(34, 26, 27, .28), transparent 70%); filter: blur(6px); z-index: 0; }
.hk { position: absolute; bottom: 5%; will-change: transform; }
.hk img { width: 100%; filter: drop-shadow(0 18px 24px rgba(34, 26, 27, .22)); }
.hk-1 { left: 2%; width: 38%; transform: rotate(-7deg); z-index: 1; bottom: 9%; }
.hk-2 { left: 27%; width: 46%; z-index: 3; }
.hk-3 { right: 2%; width: 38%; transform: rotate(7deg); z-index: 2; bottom: 9%; }
@media (min-width: 900px) {
  .hero-mreza { grid-template-columns: 1.05fr .95fr; gap: 40px; }
  .hero-knjige { height: 470px; }
}

/* ---------- stubovi ---------- */
.stubovi-sekcija { padding-top: clamp(40px, 5vw, 72px); }
.stubovi { display: grid; gap: 16px; }
@media (min-width: 860px) { .stubovi { grid-template-columns: repeat(3, 1fr); gap: 20px; } }
.stub { display: flex; flex-direction: column; gap: 6px; padding: 28px 26px 22px; background: var(--belo); border: 1px solid var(--crta); border-radius: var(--r); text-decoration: none; color: var(--tinta); transition: border-color .25s, transform .25s, box-shadow .25s; }
.stub:hover { border-color: var(--vino); transform: translateY(-3px); box-shadow: var(--senka); }
.stub h3 { font-size: 1.5rem; margin: 6px 0 2px; }
.stub p { color: var(--tinta-2); font-size: 1rem; margin: 0 0 10px; }
.stub-broj { font: 700 .78rem var(--f-sans); letter-spacing: .12em; color: var(--vino); display: flex; align-items: center; gap: 10px; }
.stub-broj::after { content: ""; flex: 1; height: 1px; background: var(--crta); }
.stub-link { margin-top: auto; font: 700 .92rem var(--f-sans); color: var(--vino); display: inline-flex; gap: 8px; align-items: center; min-height: 32px; }
.stub-link::after { content: "→"; transition: transform .2s; }
.stub:hover .stub-link::after, .sredstvo-kartica:hover .stub-link::after { transform: translateX(4px); }

/* ---------- knjige ---------- */
.knjige-mreza { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
@media (min-width: 700px) { .knjige-mreza { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
@media (min-width: 1100px) { .knjige-mreza { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; } .knjige-mreza-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.knjiga-kartica { display: flex; flex-direction: column; background: var(--belo); border: 1px solid var(--crta); border-radius: var(--r); overflow: hidden; transition: border-color .25s, box-shadow .25s; }
.knjiga-kartica:hover { border-color: var(--crta-2); box-shadow: var(--senka); }
.knjiga-korica { display: block; padding: 22px 14% 10px; background: radial-gradient(ellipse 80% 60% at 50% 100%, #e3d4be, transparent 70%), linear-gradient(180deg, var(--papir-2), #eadfcd); }
.knjiga-korica img { width: 100%; max-width: 210px; margin-inline: auto; transition: transform .35s cubic-bezier(.2, .7, .2, 1); filter: drop-shadow(0 10px 14px rgba(34, 26, 27, .18)); }
.knjiga-kartica:hover .knjiga-korica img { transform: translateY(-5px) rotate(-1.2deg); }
.knjiga-telo { display: flex; flex-direction: column; gap: 8px; padding: 14px 14px 16px; flex: 1; }
.knjiga-naslov { font-size: 1.02rem; line-height: 1.3; margin: 2px 0 0; }
.knjiga-naslov a { color: var(--tinta); text-decoration: none; }
.knjiga-naslov a:hover { color: var(--vino); text-decoration: underline; }
.knjiga-kratko { display: none; font-size: .93rem; line-height: 1.55; color: var(--tinta-2); margin: 0; }
.knjiga-dno { margin-top: auto; padding-top: 6px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.cena { font: 700 1.12rem var(--f-serif); color: var(--tinta); white-space: nowrap; }
@media (min-width: 560px) { .knjiga-telo { padding: 18px 20px 20px; } .knjiga-kratko { display: block; } .knjiga-naslov { font-size: 1.12rem; } }
@media (max-width: 400px) { .knjiga-dno .dugme { width: 100%; } }

/* ---------- koraci ---------- */
.koraci-sekcija { background: var(--papir-2); }
.koraci { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 16px; counter-reset: k; }
@media (min-width: 860px) { .koraci { grid-template-columns: repeat(3, 1fr); gap: 24px; } }
.koraci li { background: var(--belo); border: 1px solid var(--crta); border-radius: var(--r); padding: 24px; }
.koraci h3 { margin: 14px 0 6px; }
.koraci p { margin: 0; color: var(--tinta-2); font-size: 1rem; }
.korak-broj { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--vino); color: var(--vino); font: 700 1.1rem var(--f-serif); }

/* ---------- autor ---------- */
.autor-sekcija { background: var(--vino-d); color: #f3e4e2; }
.autor-sekcija h2 { color: #fff; }
.autor-sekcija a { color: var(--zlato-s); }
.autor-sekcija .nadnaslov { color: var(--zlato-s); }
.autor-sekcija :focus-visible { outline-color: var(--zlato-s); }
.autor-mreza { display: grid; gap: 32px; align-items: center; }
@media (min-width: 900px) { .autor-mreza { grid-template-columns: 340px 1fr; gap: 64px; } }
.autor-slika { margin: 0 auto; max-width: 300px; width: 70%; }
@media (min-width: 900px) { .autor-slika { width: 100%; } }
.autor-slika img { width: 100%; border-radius: 50% / 50%; box-shadow: 0 0 0 1px rgba(241, 217, 166, .5), 0 0 0 10px rgba(241, 217, 166, .08), 0 30px 60px -30px rgba(0, 0, 0, .6); }
.autor-tekst p { max-width: 62ch; }
.moto { margin: 26px 0; padding: 0 0 0 20px; border-left: 2px solid var(--zlato); }
.moto p { font-size: 1.35rem; line-height: 1.45; margin: 0 0 6px; }
.moto footer { font: 600 .82rem var(--f-sans); letter-spacing: .06em; text-transform: uppercase; opacity: .8; }
.autor-mreza-strana .autor-slika img { box-shadow: 0 0 0 1px var(--crta-2), 0 0 0 10px var(--papir-2), var(--senka); }

/* ---------- sredstva na početnoj ---------- */
.sredstva-lista { list-style: none; padding: 0; margin: 24px 0 0; border-top: 1px solid var(--crta-2); }
.sredstva-lista a { display: grid; gap: 4px 32px; padding: 20px 4px; border-bottom: 1px solid var(--crta-2); text-decoration: none; color: var(--tinta); transition: background-color .2s, padding .25s; }
.sredstva-lista a:hover { background: var(--belo); padding-inline: 14px; }
.sredstvo-ime { font: 600 1.35rem/1.25 var(--f-serif); }
.sredstvo-ime::after { content: "→"; display: inline-block; margin-left: 10px; font-family: var(--f-sans); color: var(--vino); font-size: 1rem; transition: transform .2s; }
.sredstva-lista a:hover .sredstvo-ime::after { transform: translateX(4px); }
.sredstvo-kratko { color: var(--tinta-2); font-size: 1rem; }
@media (min-width: 860px) { .sredstva-lista a { grid-template-columns: 300px 1fr; align-items: baseline; } }

/* ---------- FAQ ---------- */
.faq details { border-bottom: 1px solid var(--crta-2); }
.faq details:first-of-type { border-top: 1px solid var(--crta-2); }
.faq summary { list-style: none; cursor: pointer; position: relative; padding: 20px 48px 20px 0; font: 600 1.12rem/1.4 var(--f-serif); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; position: absolute; right: 8px; top: 50%; width: 14px; height: 14px; margin-top: -9px; border: solid var(--vino); border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .25s; }
.faq details[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.faq summary:hover { color: var(--vino); }
.faq details p { margin: 0 0 20px; color: var(--tinta-2); max-width: 70ch; }

/* ---------- poziv ---------- */
.poziv-sekcija { background: var(--vino); color: #fbeff0; padding-block: clamp(44px, 6vw, 80px); }
.poziv-sekcija h2 { color: #fff; margin-bottom: .3em; }
.poziv-sekcija p { margin: 0; }
.poziv-sekcija :focus-visible { outline-color: var(--zlato-s); }
.poziv { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }

/* ---------- glava unutrašnjih strana ---------- */
.mrvice { padding-top: 18px; }
.mrvice ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; font: 600 .84rem var(--f-sans); color: var(--siva); }
.mrvice li + li::before { content: "/"; margin-right: 6px; color: var(--crta-2); }
.mrvice a { display: inline-block; padding: 4px 0; color: var(--siva); text-decoration: none; }
.mrvice a:hover { color: var(--vino); text-decoration: underline; }
.strana-glava { position: relative; padding-block: clamp(28px, 5vw, 64px) clamp(28px, 4vw, 48px); }
.strana-glava-mala h1 { font-size: clamp(2rem, 1.4rem + 2.4vw, 3.1rem); }
.strana-glava-mreza { display: grid; gap: 28px; align-items: start; }
@media (min-width: 960px) { .strana-glava-mreza { grid-template-columns: 1fr 360px; gap: 56px; } }
.ponuda { background: var(--belo); border: 1px solid var(--crta); border-radius: var(--r); padding: 24px; box-shadow: var(--senka); }
.ponuda-cena { font: 700 2.4rem/1 var(--f-serif); color: var(--vino); margin-bottom: 12px; }
.ponuda-cena span { font: 600 .9rem var(--f-sans); color: var(--siva); }
.ponuda-gratis { font-size: 1rem; background: var(--vino-t); border-radius: var(--r-s); padding: 10px 14px; }
.ponuda ul { list-style: none; padding: 0; margin: 0 0 18px; font: 600 .92rem/1.5 var(--f-sans); color: var(--tinta-2); }
.ponuda li { padding: 6px 0 6px 26px; position: relative; border-bottom: 1px dashed var(--crta); }
.ponuda li::before { content: ""; position: absolute; left: 4px; top: 11px; width: 6px; height: 11px; border: solid var(--vino); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.katalog { padding-top: 16px; }

/* ---------- strana knjige ---------- */
.knjiga-strana { padding-bottom: 24px; }
.knjiga-mreza { display: grid; gap: 28px; padding-block: 24px 40px; align-items: center; }
@media (min-width: 900px) { .knjiga-mreza { grid-template-columns: .85fr 1.15fr; gap: 64px; padding-block: 40px 56px; } }
.knjiga-postolje { border-radius: 24px; padding: clamp(24px, 5vw, 48px); background: radial-gradient(ellipse 70% 50% at 50% 95%, #dcc8ad, transparent 70%), linear-gradient(160deg, var(--papir-2), #e7d9c4); display: grid; place-items: center; border: 1px solid var(--crta); }
.knjiga-postolje img { width: 100%; max-width: 360px; filter: drop-shadow(0 22px 26px rgba(34, 26, 27, .25)); }
.knjiga-info h1 { font-size: clamp(2rem, 1.3rem + 2.6vw, 3.2rem); margin-top: 14px; }
.knjiga-autor { font: 600 .95rem var(--f-sans); color: var(--siva); }
.knjiga-podaci { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--crta); border: 1px solid var(--crta); border-radius: var(--r-s); overflow: hidden; margin: 24px 0; }
.knjiga-podaci div { background: var(--belo); padding: 12px 16px; }
.knjiga-podaci dt { font: 700 .7rem var(--f-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--siva); }
.knjiga-podaci dd { margin: 2px 0 0; font-size: 1rem; }
.knjiga-podaci dd.cena { font-size: 1.3rem; color: var(--vino); }
.knjiga-sadrzaj section { margin-bottom: 40px; }
.gratis-okvir { background: var(--belo); border: 1px solid var(--crta); border-left: 4px solid var(--vino); border-radius: var(--r-s); padding: 20px 22px; }
.gratis-okvir p { margin-bottom: 14px; }
.srodne { background: var(--papir-2); }

/* ---------- enološka sredstva ---------- */
.praksa { counter-reset: p; list-style: none; padding: 0; margin: 20px 0 40px; display: grid; gap: 10px; max-width: 820px; }
.praksa li { counter-increment: p; position: relative; padding: 12px 16px 12px 56px; background: var(--belo); border: 1px solid var(--crta); border-radius: var(--r-s); }
.praksa li::before { content: counter(p); position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border-radius: 50%; background: var(--vino); color: #fff; display: grid; place-items: center; font: 700 .85rem var(--f-sans); }
.sredstva-kartice { display: grid; gap: 16px; }
@media (min-width: 700px) { .sredstva-kartice { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .sredstva-kartice { grid-template-columns: repeat(3, 1fr); } }
.sredstvo-kartica { display: flex; flex-direction: column; padding: 24px; background: var(--belo); border: 1px solid var(--crta); border-radius: var(--r); text-decoration: none; color: var(--tinta); transition: border-color .25s, box-shadow .25s, transform .25s; }
.sredstvo-kartica:hover { border-color: var(--vino); box-shadow: var(--senka); transform: translateY(-2px); }
.sredstvo-kartica h3 { font-size: 1.35rem; }
.sredstvo-kartica p { color: var(--tinta-2); font-size: .98rem; }
.proizvodi { display: grid; gap: 18px; }
.proizvod { background: var(--belo); border: 1px solid var(--crta); border-radius: var(--r); padding: clamp(18px, 3vw, 28px); }
.proizvod-glava { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--crta); }
.proizvod-glava h3 { margin: 0; font-size: 1.35rem; }
.proizvod-podaci { margin: 0; display: grid; gap: 14px; }
.proizvod-podaci div { display: grid; gap: 2px; }
.proizvod-podaci dt { font: 700 .72rem var(--f-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--siva); }
.proizvod-podaci dd { margin: 0; }
.proizvod-podaci .pp-doziranje dd, .proizvod-podaci .pp-uslovi dd { background: var(--vino-t); border-radius: 8px; padding: 8px 12px; font-weight: 600; color: var(--vino-d); font-variant-numeric: tabular-nums lining-nums; }
@media (min-width: 640px) { .proizvod-podaci div { grid-template-columns: 170px 1fr; gap: 16px; align-items: baseline; } }
.tabela { width: 100%; border-collapse: collapse; background: var(--belo); border: 1px solid var(--crta); border-radius: var(--r-s); overflow: hidden; }
.tabela th, .tabela td { text-align: left; padding: 12px 16px; border-bottom: 1px solid var(--crta); vertical-align: top; }
.tabela thead th { font: 700 .74rem var(--f-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--siva); background: var(--papir-2); }
.tabela tbody th { font-weight: 400; }
.tabela td.broj { font-weight: 700; color: var(--vino); white-space: nowrap; }
.postupak { counter-reset: s; list-style: none; padding: 0; margin: 0; }
.postupak li { counter-increment: s; position: relative; padding: 0 0 18px 52px; }
.postupak li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid var(--vino); color: var(--vino); display: grid; place-items: center; font: 700 .9rem var(--f-sans); background: var(--belo); }
.postupak li:not(:last-child)::after { content: ""; position: absolute; left: 17px; top: 38px; bottom: 4px; width: 1px; background: var(--crta-2); }
.dobavljaci { background: var(--papir-2); border-radius: var(--r); padding: 24px; margin: 48px 0 24px; }
.dobavljaci h2 { font-size: 1.35rem; }
.dobavljaci ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.dobavljaci li a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--crta-2); border-radius: 999px; background: var(--belo); font: 600 .9rem var(--f-sans); text-decoration: none; }
.dobavljaci li a:hover { border-color: var(--vino); }
.sledece a { display: flex; flex-direction: column; padding: 18px 22px; border: 1px solid var(--crta); border-radius: var(--r); background: var(--belo); text-decoration: none; font: 600 1.3rem var(--f-serif); color: var(--tinta); margin-bottom: 8px; }
.sledece a span { font: 700 .74rem var(--f-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--vino); }
.sledece a:hover { border-color: var(--vino); }

/* ---------- forme ---------- */
.upit { display: grid; gap: 24px 48px; margin-block: clamp(40px, 6vw, 80px); padding: clamp(20px, 4vw, 44px); background: var(--belo); border: 1px solid var(--crta); border-radius: 22px; box-shadow: var(--senka); scroll-margin-top: 90px; }
@media (min-width: 960px) { .upit { grid-template-columns: .8fr 1.2fr; } }
.upit-uvod h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
.upit-uvod p { color: var(--tinta-2); }
.upit-tel { font: 600 .95rem var(--f-sans); }
.forma .polje { display: grid; gap: 6px; margin-bottom: 16px; }
.forma label { font: 600 .92rem/1.4 var(--f-sans); color: var(--tinta); }
.pomoc-uz { font-weight: 500; color: var(--siva); }
.forma input:not([type="checkbox"]), .forma select, .forma textarea, .izbor-stavka input { accent-color: var(--vino); }
.forma input:not([type="checkbox"]), .forma select, .forma textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1.5px solid var(--crta-2); border-radius: var(--r-s); background: #fff; font: 500 1rem/1.4 var(--f-sans); transition: border-color .2s, box-shadow .2s; }
.forma textarea { min-height: 120px; resize: vertical; }
.forma input:focus, .forma select:focus, .forma textarea:focus { outline: none; border-color: var(--vino); box-shadow: 0 0 0 3px rgba(110, 15, 34, .2); }
.forma [aria-invalid="true"] { border-color: var(--greska) !important; }
.greska-polja { color: var(--greska); font: 600 .88rem var(--f-sans); margin: 0; }
.polja-2 { display: grid; gap: 0 16px; }
@media (min-width: 640px) { .polja-2 { grid-template-columns: 1fr 1fr; } }
.forma .polje-cek { display: flex; align-items: flex-start; gap: 12px; }
.polje-cek input { width: 24px; height: 24px; margin: 2px 0 0; flex: none; accent-color: var(--vino); }
.polje-cek label { font-weight: 500; font-size: .92rem; }
.pomoc { font: 500 .86rem var(--f-sans); color: var(--siva); margin: -6px 0 14px; }
.mamac { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.poruka { border-radius: var(--r-s); padding: 14px 16px; font: 600 .95rem/1.5 var(--f-sans); margin: 0 0 16px; }
.poruka p:last-child, .poruka ul:last-child { margin-bottom: 0; }
.poruka-ok { background: #eaf4ec; border: 1px solid #a8cfb0; color: var(--ok); }
.poruka-greska { background: #fbeceb; border: 1px solid #e6aca7; color: #7e1a13; }
.poruka-greska a { color: #7e1a13; }
.poruka-napomena { font: 500 .88rem var(--f-sans); color: var(--siva); margin: -8px 0 16px; }
.forma button[disabled] { opacity: .7; cursor: progress; }

/* ---------- porudžbina ---------- */
.porudzbina { display: grid; gap: 32px; padding-bottom: 72px; align-items: start; }
@media (min-width: 1000px) { .porudzbina { grid-template-columns: minmax(0, 1fr) 360px; gap: 48px; } .zbir { position: sticky; top: 92px; } }
.porudzbina fieldset { border: 0; margin: 0 0 36px; padding: 0; min-width: 0; }
.porudzbina legend, .porudzbina .polje > label { color: var(--tinta); }
.porudzbina legend { display: flex; align-items: center; gap: 12px; font: 600 1.45rem/1.3 var(--f-serif); margin-bottom: 16px; padding: 0; }
.korak-oznaka { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--vino); color: #fff; font: 700 .95rem var(--f-sans); flex: none; }
.izbor-lista { display: grid; gap: 10px; }
@media (min-width: 700px) { .izbor-lista { grid-template-columns: 1fr 1fr; } }
.izbor-stavka { display: grid; grid-template-columns: 24px 48px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 14px 10px 12px; border: 1.5px solid var(--crta); border-radius: 12px; background: var(--belo); cursor: pointer; transition: border-color .2s, background-color .2s, box-shadow .2s; }
.izbor-stavka:hover { border-color: var(--crta-2); }
.izbor-stavka input { width: 24px; height: 24px; margin: 0; }
.izbor-stavka img { width: 48px; height: auto; }
.izbor-stavka:has(input:checked) { border-color: var(--vino); background: #fbf2f1; box-shadow: 0 0 0 1px var(--vino) inset; }
.izbor-stavka:has(input:focus-visible) { outline: 3px solid var(--vino); outline-offset: 2px; }
.izbor-naslov { font: 600 .98rem/1.3 var(--f-serif); display: flex; flex-direction: column; gap: 2px; }
.izbor-naslov small { font: 600 .7rem var(--f-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--siva); }
.izbor-cena { font: 700 .88rem var(--f-sans); color: var(--tinta-2); font-variant-numeric: tabular-nums; }
@media (max-width: 420px) { .izbor-cena { display: none; } .izbor-stavka { grid-template-columns: 24px 44px minmax(0, 1fr); } }
.zbir-kartica { background: var(--belo); border: 1.5px solid var(--crta-2); border-radius: 18px; padding: 24px; box-shadow: var(--senka); }
.zbir-kartica h2 { font-size: 1.4rem; }
.zbir-redovi { margin: 0 0 14px; }
.zbir-redovi div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 8px 0; border-bottom: 1px dashed var(--crta); }
.zbir-redovi dt { font: 600 .92rem var(--f-sans); color: var(--siva); }
.zbir-redovi dd { margin: 0; text-align: right; }
.zbir-ukupno dt { color: var(--tinta); }
.zbir-ukupno dd { font: 700 1.5rem var(--f-serif); color: var(--vino); }
.zbir-rsd dd { font-weight: 600; }
.zbir-savet { background: var(--papir-2); border-radius: 8px; padding: 10px 12px; font: 600 .88rem/1.45 var(--f-sans); color: var(--tinta-2); }
.zbir-kurs { font: 500 .78rem/1.45 var(--f-sans); color: var(--siva); }
.zbir-kartica .dugme { margin-top: 10px; }
.zbir-napomena { font: 500 .84rem/1.5 var(--f-sans); color: var(--siva); margin: 14px 0 0; }
.js [data-preracunaj] { display: none; }
#greske { margin-bottom: 24px; }
#greske ul { margin: 6px 0 0; }

/* ---------- potvrda ---------- */
.pregled-napomena { display: inline-block; background: #fff4d8; border: 1px solid #e3c47a; color: #5a430f; font: 700 .9rem var(--f-sans); padding: 8px 14px; border-radius: 8px; }
.potvrda-mreza { display: grid; gap: 24px; padding-bottom: 72px; align-items: start; }
@media (min-width: 1050px) { .potvrda-mreza { grid-template-columns: 1.35fr 1fr; gap: 32px; } }
.potvrda-uplata, .potvrda-stavke { background: var(--belo); border: 1px solid var(--crta); border-radius: 20px; padding: clamp(20px, 3vw, 32px); }
.potvrda-uplata { border: 1.5px solid var(--vino); box-shadow: var(--senka); }
.uplata-mreza { display: grid; gap: 24px; }
@media (min-width: 640px) { .uplata-mreza { grid-template-columns: 1fr 210px; align-items: start; } }
.uplata-podaci { margin: 0; }
.uplata-podaci div { display: grid; gap: 2px; padding: 10px 0; border-bottom: 1px solid var(--crta); }
@media (min-width: 520px) { .uplata-podaci div { grid-template-columns: 150px 1fr; gap: 12px; align-items: baseline; } }
.uplata-podaci dt { font: 600 .86rem var(--f-sans); color: var(--siva); }
.uplata-podaci dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.uplata-podaci small { font: 500 .8rem var(--f-sans); color: var(--siva); }
.nedostaje { display: inline-block; border: 1.5px dashed #c9a55a; background: #fff8e6; color: #5a430f; border-radius: 6px; padding: 2px 8px; font: 600 .85rem var(--f-sans); }
.kopiraj { margin-left: 8px; min-height: 30px; padding: 0 10px; border: 1px solid var(--crta-2); border-radius: 6px; background: var(--papir); font: 700 .75rem var(--f-sans); color: var(--vino); cursor: pointer; vertical-align: middle; }
.kopiraj:hover { border-color: var(--vino); }
.ips { margin: 0; }
.ips-kod { width: 210px; max-width: 100%; aspect-ratio: 1; background: #fff; border: 1px solid var(--crta); border-radius: 12px; padding: 6px; }
.ips-kod svg { width: 100%; height: 100%; }
.ips-prazno { display: grid; place-items: center; border: 2px dashed var(--crta-2); background: repeating-linear-gradient(45deg, var(--papir), var(--papir) 10px, var(--belo) 10px, var(--belo) 20px); text-align: center; }
.ips-prazno span { font: 800 1.3rem/1.2 var(--f-sans); color: #b3a28c; letter-spacing: .1em; }
.ips figcaption { font: 500 .84rem/1.5 var(--f-sans); color: var(--siva); margin-top: 10px; max-width: 240px; }
.akcije-potvrda { margin-top: 20px; }
.stavke { list-style: none; padding: 0; margin: 0 0 16px; }
.stavke li { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--crta); font-size: .98rem; }
.stavke img { width: 40px; flex: none; }
.potvrda-stavke h3 { margin-top: 24px; font-size: 1.15rem; }

/* ---------- kontakt ---------- */
.kontakt-mreza { display: grid; gap: 32px; align-items: start; }
@media (min-width: 1000px) { .kontakt-mreza { grid-template-columns: .9fr 1.1fr; gap: 48px; } }
.kontakt-mreza .upit { grid-template-columns: 1fr; margin: 0; }
.nap { margin: 0 0 24px; display: grid; gap: 1px; background: var(--crta); border: 1px solid var(--crta); border-radius: var(--r); overflow: hidden; }
.nap div { background: var(--belo); padding: 16px 20px; }
.nap dt { font: 700 .72rem var(--f-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--siva); }
.nap dd { margin: 2px 0 0; font-size: 1.2rem; overflow-wrap: anywhere; }
.mapa { position: relative; aspect-ratio: 4 / 3; border-radius: var(--r); overflow: hidden; border: 1px solid var(--crta); background: linear-gradient(to right, rgba(110, 15, 34, .06) 1px, transparent 1px) 0 0 / 32px 32px, linear-gradient(to bottom, rgba(110, 15, 34, .06) 1px, transparent 1px) 0 0 / 32px 32px, var(--papir-2); }
.mapa-zamena { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 10px; padding: 20px; text-align: center; }
.mapa-zamena p { font: 500 .92rem var(--f-sans); color: var(--tinta-2); margin: 0; max-width: 30ch; }
.mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- 404 ---------- */
.strana-404 { padding-block: clamp(48px, 10vw, 120px); }
.linkovi-404 { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.linkovi-404 a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid var(--crta-2); border-radius: 999px; background: var(--belo); text-decoration: none; font: 600 .95rem var(--f-sans); }

/* ---------- o autoru ---------- */
.spoljni-linkovi { list-style: none; padding: 0; display: grid; gap: 8px; }
.spoljni-linkovi a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 10px 16px; border: 1px solid var(--crta); border-radius: var(--r-s); background: var(--belo); text-decoration: none; color: var(--tinta); }
.spoljni-linkovi a::after { content: "↗"; color: var(--vino); font-family: var(--f-sans); }
.spoljni-linkovi a:hover { border-color: var(--vino); }
.drustvene { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.drustvene a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; font: 600 .86rem var(--f-sans); text-decoration: none; }
.drustvene-velike a { border: 1px solid var(--crta-2); background: var(--belo); min-height: 44px; }

/* ---------- podnožje ---------- */
.podnozje { background: #1e1416; color: #d8ccc7; font-size: .95rem; }
.podnozje a { color: #f4e8e3; text-decoration-color: rgba(244, 232, 227, .4); }
.podnozje a:hover { color: #fff; }
.podnozje :focus-visible { outline-color: var(--zlato-s); }
.podnozje-mreza { display: grid; gap: 32px; padding-block: 56px 32px; }
@media (min-width: 700px) { .podnozje-mreza { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1050px) { .podnozje-mreza { grid-template-columns: 1.3fr 1fr 1fr 1.2fr; } }
.podnozje .znak-ime { color: #fff; font-size: 1.6rem; margin-bottom: 12px; }
.podnozje-znak p:last-child { max-width: 34ch; color: #c9bbb5; }
.podnozje-naslov { font: 700 .74rem var(--f-sans); letter-spacing: .14em; text-transform: uppercase; color: #bda7a0; margin-bottom: 14px; }
.podnozje ul { list-style: none; padding: 0; margin: 0; }
.podnozje li { margin: 0 0 6px; }
.podnozje li a { display: inline-block; padding: 4px 0; }
.podnozje address { font-style: normal; line-height: 1.8; }
.podnozje .drustvene a { display: inline-flex; align-items: center; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .22); min-height: 40px; }
.podnozje-dno { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-block: 20px 28px; border-top: 1px solid rgba(255, 255, 255, .1); font: 500 .84rem var(--f-sans); color: #b5a7a1; }
.podnozje-dno p { margin: 0; }
.potpis a { color: #b5a7a1; }

/* ---------- traka na telefonu ---------- */
.traka-dno { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: grid; grid-template-columns: 1fr 1.35fr; gap: 10px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(247, 242, 234, .97); border-top: 1px solid var(--crta); box-shadow: 0 -8px 24px -16px rgba(34, 26, 27, .35); }
.traka-dno a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border-radius: var(--r-s); font: 700 .98rem var(--f-sans); text-decoration: none; }
.traka-tel { border: 1.5px solid var(--vino); color: var(--vino); background: var(--belo); }
.traka-glavno { background: var(--vino); color: #fff; }
@media (max-width: 1023.98px) { .podnozje-dno { padding-bottom: calc(28px + 72px + env(safe-area-inset-bottom)); } }
@media (min-width: 1024px) { .traka-dno { display: none; } }

/* ---------- pojava ---------- */
.pojava { transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
.pojava.ceka { opacity: 0; transform: translateY(20px); }
@media (prefers-reduced-motion: reduce) { .pojava, .pojava.ceka { transition: none; opacity: 1; transform: none; } .hk { transform: none !important; } }

/* ---------- administracija ---------- */
.admin-glava { background: var(--belo); border-bottom: 1px solid var(--crta); }
.admin-glava-red { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; min-height: 64px; padding-block: 8px; }
.admin-meni { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; font: 600 .95rem var(--f-sans); }
.admin-meni a { text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
.admin-meni form { margin: 0; }
.admin-telo { padding-block: 32px 64px; }
.admin-naslov { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.admin-naslov h1 { font-size: 2rem; margin: 0; }
.admin-brojke { list-style: none; padding: 0; margin: 0 0 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.admin-brojke li { background: var(--belo); border: 1px solid var(--crta); border-radius: var(--r-s); padding: 12px 16px; display: flex; flex-direction: column; }
.admin-brojke span { font: 600 .8rem var(--f-sans); color: var(--siva); }
.admin-brojke b { font: 700 1.4rem var(--f-serif); font-variant-numeric: tabular-nums; }
.admin-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; font: 600 .9rem var(--f-sans); }
.admin-filter a { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--crta-2); text-decoration: none; background: var(--belo); }
.admin-filter a[aria-current="page"] { background: var(--vino); color: #fff; border-color: var(--vino); }
.tabela-omot { overflow-x: auto; border-radius: var(--r-s); }
.admin-tabela { font-size: .95rem; min-width: 760px; }
.admin-tabela small { color: var(--siva); }
.admin-tabela td.broj { color: var(--tinta); font-weight: 500; }
.admin-akcija { display: inline-block; margin: 0 4px 4px 0; }
.status { display: inline-block; padding: 3px 10px; border-radius: 999px; font: 700 .76rem var(--f-sans); background: var(--papir-2); color: var(--tinta-2); }
.status-nova { background: #fff1d6; color: #6a4a07; }
.status-placena { background: #e2f0e5; color: #1d5129; }
.status-poslata { background: #e3ebf6; color: #1f3f6b; }
.status-otkazana { background: #f3e1e1; color: #7b1b1b; }
.admin-prazno { padding: 32px; text-align: center; background: var(--belo); border: 1px dashed var(--crta-2); border-radius: var(--r); color: var(--siva); }
.admin-detalj { display: grid; gap: 20px; }
@media (min-width: 1000px) { .admin-detalj { grid-template-columns: 1.2fr 1fr; } .admin-detalj .admin-kartica:last-child { grid-column: 1 / -1; max-width: 520px; } }
.admin-kartica { background: var(--belo); border: 1px solid var(--crta); border-radius: var(--r); padding: 22px; }
.admin-kartica h2 { font-size: 1.25rem; }
.admin-prijava { max-width: 420px; margin: 40px auto; background: var(--belo); border: 1px solid var(--crta); border-radius: var(--r); padding: 32px; box-shadow: var(--senka); }
.admin-prijava h1 { font-size: 2rem; }
.admin-opis { color: var(--siva); }
.upiti-lista { display: grid; gap: 14px; }
.upit-kartica header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; }
.upit-kartica h2 { margin: 0; font-size: 1.15rem; }
.upit-kartica header p { font: 500 .85rem var(--f-sans); color: var(--siva); margin: 0; }
.upit-poruka { background: var(--papir); border-radius: 8px; padding: 12px 14px; }
.upit-dodatno { font: 500 .88rem var(--f-sans); color: var(--tinta-2); margin: 0 0 6px; }
.upit-odgovoreno { opacity: .72; }
.link-nazad { font: 600 .92rem var(--f-sans); }
.link-nazad::before { content: "← "; }

/* ---------- štampa ---------- */
@media print {
  .pojava.ceka { opacity: 1; transform: none; }
  .pregled-traka, .zaglavlje, .podnozje, .traka-dno, .napredak, .preskoci, .mrvice, .akcije, .kopiraj { display: none !important; }
  body { background: #fff; padding: 0; font-size: 11pt; }
  .potvrda-uplata, .potvrda-stavke { border: 1px solid #999; box-shadow: none; break-inside: avoid; }
  .potvrda-mreza { grid-template-columns: 1fr; }
}

/* ---------- preuzimanje i PayPal ---------- */
.paypal { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--crta); }
.paypal h3 { font-size: 1.15rem; }
.preuzimanje-lista li { flex-wrap: wrap; }
.preuzimanje-naslov { flex: 1 1 200px; display: grid; gap: 2px; }
.preuzimanje-naslov small { font: 500 .85rem var(--f-sans); color: var(--siva); }
.admin-tabela input[type="file"] { max-width: 230px; font-size: .88rem; }
