/* Ribarska noć Tkon — noć na rivi */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/bricolage-grotesque-latin-ext-700-normal.woff2') format('woff2'),url('fonts/bricolage-grotesque-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/bricolage-grotesque-latin-ext-800-normal.woff2') format('woff2'),url('fonts/bricolage-grotesque-latin-800-normal.woff2') format('woff2');}

:root{
  --noc:#081F31;        /* duboka noć / more */
  --plicak:#0E3350;     /* svjetlija ploha */
  --feral:#F2B441;      /* svjetlo ferala */
  --pjena:#EDF4F8;      /* tekst / papir */
  --magla:#C2D6E4;      /* sekundarni tekst */
  --konop:#E8542F;      /* mikro-akcent */
  --display:'Bricolage Grotesque',system-ui,sans-serif;
  --body:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{margin:0;background:var(--noc);color:var(--pjena);font-family:var(--body);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--feral)}
a:hover{color:#f7c968}
:focus-visible{outline:3px solid var(--feral);outline-offset:3px;border-radius:2px}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--feral);color:var(--noc);padding:.6rem 1rem;font-weight:700;z-index:100}
.skip-link:focus{left:1rem;top:1rem}

.wrap{max-width:60rem;margin:0 auto;padding:0 1.25rem}

/* Hero */
.hero{position:relative;min-height:88vh;display:flex;flex-direction:column;justify-content:center;background:
  radial-gradient(ellipse 120% 60% at 50% -10%,#14486B 0%,transparent 60%),
  linear-gradient(180deg,#0A2A42 0%,var(--noc) 70%);
  overflow:hidden;padding:4rem 0 6rem}
.hero .wrap{position:relative;z-index:2}
.eyebrow{font-family:var(--display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--feral);font-size:.9rem;margin:0 0 1rem}
.jubilej{font-family:var(--display);font-weight:800;font-size:clamp(6rem,22vw,15rem);line-height:.85;margin:0;color:transparent;-webkit-text-stroke:2px var(--feral);letter-spacing:-.02em}
.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(2.4rem,7.5vw,4.8rem);line-height:1.02;margin:.3rem 0 1.4rem;letter-spacing:-.015em}
.hero .kada{font-size:clamp(1.1rem,3vw,1.4rem);color:var(--magla);margin:0 0 2.2rem;max-width:34rem}
.hero .kada strong{color:var(--pjena)}
.cta{display:inline-block;background:var(--feral);color:var(--noc);font-family:var(--display);font-weight:700;font-size:1.05rem;padding:.85rem 1.8rem;border-radius:3px;text-decoration:none}
.cta:hover{background:#f7c968;color:var(--noc)}

/* val na dnu heroja */
.val{position:absolute;bottom:-1px;left:0;width:100%;z-index:1}
.val svg{display:block;width:100%;height:70px}

/* EU traka — vidljivi dio, odmah ispod heroja */
.eu-band{background:#fff;padding:1.4rem 0}
.eu-band .wrap{display:flex;justify-content:center}
.eu-band img{max-height:76px;width:auto}

/* Sekcije */
section{padding:4.5rem 0}
h2{font-family:var(--display);font-weight:800;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.1;margin:0 0 1.6rem}
h2::after{content:"";display:block;width:56px;height:4px;background:var(--konop);margin-top:.7rem;border-radius:2px}
.o p{max-width:none;color:var(--magla)}
.o p strong{color:var(--pjena)}

/* Program — red večeri */
.program{background:var(--plicak)}
.red{list-style:none;margin:2.2rem 0 0;padding:0;position:relative;max-width:none}
.red::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--feral) 60%,transparent 0) 0 0/2px 14px repeat-y}
.red li{position:relative;padding:0 0 2rem 2.6rem}
.red li:last-child{padding-bottom:0}
.red li::before{content:"";position:absolute;left:0;top:6px;width:20px;height:20px;border-radius:50%;background:var(--noc);border:3px solid var(--feral)}
.red time{font-family:var(--display);font-weight:700;color:var(--feral);font-size:1.15rem;display:block}
.red p{margin:.3rem 0 0;color:var(--magla)}
.red p strong{color:var(--pjena)}

/* Galerija */
.galerija .mreza{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:2rem}
.galerija figure{margin:0;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:#0A2A42}
.galerija .uvod{color:var(--magla);max-width:none}
.galerija figure img{width:100%;height:100%;object-fit:cover}
.galerija figcaption{color:var(--magla);font-size:.9rem;padding:1rem;text-align:center}

/* Lokacija */
.lokacija p{max-width:none;color:var(--magla)}

/* EU blok — opis operacije */
.eu-opis{background:#fff;color:#1a2430}
.eu-opis h2{color:#0B2438}
.eu-opis p{max-width:none;color:#33414f}
.eu-opis .logotipi{display:flex;flex-wrap:wrap;align-items:center;gap:2rem;margin-top:2rem}
.eu-opis .logotipi img{max-height:64px;width:auto}

/* Footer */
footer{background:#051624;padding:3rem 0 2.5rem;font-size:.95rem;color:var(--magla)}
footer .wrap{display:flex;flex-direction:column;gap:1.2rem;align-items:center;text-align:center}
footer img{max-height:56px;width:auto;align-self:center;background:#fff;padding:.5rem .8rem;border-radius:4px}
footer nav{width:100%;text-align:center}
footer nav a{margin:0 .7rem;display:inline-block}
footer p{width:100%;text-align:center;margin:0}

@media (max-width:640px){
  .hero{min-height:76vh}
  .eu-band img{max-height:58px}
  section{padding:3.2rem 0}
}

/* valni prijelazi između sekcija */
.val-div{line-height:0;font-size:0}
.val-div svg{display:block;width:100%;height:56px}
.val-div--bijela{background:#fff}
.val-div--noc{background:var(--noc)}
.val-div--plicak{background:var(--plicak)}

/* WCAG dorada */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.eu-band :focus-visible,.eu-opis :focus-visible{outline-color:#0B2438}

/* widget pristupačnosti */
#a11y-widget{position:fixed;right:1rem;bottom:1rem;z-index:1000;font-family:var(--body)}
#a11y-gumb{width:52px;height:52px;border-radius:50%;border:2px solid #fff;background:var(--noc);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.4)}
#a11y-gumb:hover{background:#14486B}
#a11y-panel{position:absolute;right:0;bottom:60px;background:#fff;color:#1a2430;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.35);padding:.6rem;display:flex;flex-direction:column;gap:.4rem;min-width:220px}
#a11y-panel button{font:inherit;font-size:.95rem;text-align:left;padding:.55rem .8rem;border:1px solid #C6D2DC;border-radius:5px;background:#F4F8FB;color:#1a2430;cursor:pointer}
#a11y-panel button:hover{background:#E4EDF4}
#a11y-panel button[aria-pressed="true"]{background:var(--noc);color:#fff;border-color:var(--noc)}
#a11y-panel :focus-visible{outline-color:#0B2438}

/* visoki kontrast */
html.a11y-kontrast body,html.a11y-kontrast .hero,html.a11y-kontrast .program,html.a11y-kontrast footer{background:#000!important;color:#fff!important}
html.a11y-kontrast .o p,html.a11y-kontrast .lokacija p,html.a11y-kontrast .red p,html.a11y-kontrast .hero .kada,html.a11y-kontrast footer{color:#fff!important}
html.a11y-kontrast .eu-band,html.a11y-kontrast .eu-opis{background:#fff!important}
html.a11y-kontrast .eu-opis p,html.a11y-kontrast .eu-opis h2{color:#000!important}
html.a11y-kontrast a{color:#FFD84D!important}
html.a11y-kontrast .eu-opis a{color:#0000CC!important}
html.a11y-kontrast .cta{background:#FFD84D!important;color:#000!important}
html.a11y-kontrast .val-div{display:none}

/* istaknute poveznice */
html.a11y-poveznice a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important;font-weight:700}
#a11y-panel[hidden]{display:none}
