:root{

  --green:#008f4c;
  --green2:#006b39;
  --dark:#03170e;
  --dark2:#062719;
  --gold:#d5b46b;
  --cream:#f6f1e7;
  --white:#fff;
  --text:#1d2d24;
  --muted:#6b756f;
  --shadow:0 24px 70px rgba(0,0,0,.18);
  --radius:30px

}

*{
  margin:0;
  padding:0;
  box-sizing:border-box
}

html{
  scroll-behavior:smooth
}

body{
  font-family:Georgia,'Times New Roman',serif;
  background:var(--cream);
  color:var(--text);
  overflow-x:hidden
}

a{
  text-decoration:none;
  color:inherit
}

img{
  display:block;
  max-width:100%
}

/* HEADER */

.header{

  position:fixed;
  inset:0 0 auto 0;
  z-index:50;

  background:rgba(3,23,14,.95);

  backdrop-filter:blur(16px);

  border-bottom:1px solid rgba(213,180,107,.35)

}

.header-top{

  max-width:1220px;

  margin:auto;

  padding:14px 24px 10px;

  display:flex;

  align-items:center;

  justify-content:center;

  gap:20px

}

.logo{

  width:105px;

  height:105px;

  object-fit:contain;

  background:#fff;

  border-radius:50%;

  padding:7px;

  box-shadow:0 0 30px rgba(0,143,76,.55)

}

.brand h1{

  font-size:clamp(26px,4vw,44px);

  color:var(--gold);

  letter-spacing:.5px

}

.brand p{

  color:#dcebe3;

  letter-spacing:3px;

  font-size:13px;

  margin-top:5px

}

.nav{

  border-top:1px solid rgba(255,255,255,.08)

}

.nav-inner{

  max-width:1220px;

  margin:auto;

  padding:12px 24px;

  display:flex;

  justify-content:center;

  gap:34px;

  overflow-x:auto

}

.nav a{

  color:#fff;

  font-size:16px;

  white-space:nowrap;

  position:relative;

  padding-bottom:6px

}

.nav a:after{

  content:"";

  position:absolute;

  left:0;

  bottom:0;

  width:0;

  height:2px;

  background:var(--gold);

  transition:.3s

}

.nav a:hover,
.nav a.active{

  color:var(--gold)

}

.nav a:hover:after,
.nav a.active:after{

  width:100%

}

/* HERO */

.hero{

  min-height:100vh;

  position:relative;

  overflow:hidden

}

.slide{

  position:absolute;

  inset:0;

  width:100%;

  height:100%;

  object-fit:cover;

  opacity:0;

  transform:scale(1.07);

  transition:opacity 1.4s,transform 6s

}

.slide.active{

  opacity:1;

  transform:scale(1)

}

.hero:after{

  content:"";

  position:absolute;

  inset:0;

  background:
  linear-gradient(
    90deg,
    rgba(3,23,14,.92),
    rgba(3,23,14,.55),
    rgba(3,23,14,.12)
  ),

  linear-gradient(
    0deg,
    rgba(3,23,14,.82),
    transparent 55%
  )

}

.hero-content{

  position:relative;

  z-index:2;

  max-width:1220px;

  margin:auto;

  min-height:100vh;

  padding:240px 24px 90px;

  display:flex;

  align-items:center

}

.hero-box{

  max-width:760px;

  color:white

}

.eyebrow{

  display:inline-block;

  border:1px solid rgba(213,180,107,.65);

  color:var(--gold);

  padding:10px 20px;

  border-radius:999px;

  letter-spacing:2px;

  background:rgba(0,143,76,.18);

  margin-bottom:24px

}

.hero h2{

  font-size:clamp(42px,7vw,82px);

  line-height:1.02;

  margin-bottom:24px;

  text-shadow:0 12px 38px rgba(0,0,0,.55)

}

.hero h2 span{

  color:var(--gold)

}

.hero p{

  font-size:clamp(17px,2vw,22px);

  line-height:1.75;

  max-width:650px;

  color:#f0f5f1;

  margin-bottom:34px

}

/* BUTTONS */

.buttons{

  display:flex;

  gap:15px;

  flex-wrap:wrap

}

.btn{

  padding:15px 31px;

  border-radius:999px;

  font-weight:700;

  transition:.3s

}

.btn-primary{

  background:var(--green);

  color:#fff;

  box-shadow:0 16px 36px rgba(0,143,76,.38)

}

.btn-primary:hover{

  background:var(--gold);

  color:var(--dark);

  transform:translateY(-4px)

}

.btn-outline{

  border:1px solid var(--gold);

  color:var(--gold)

}

.btn-outline:hover{

  background:var(--gold);

  color:var(--dark)

}

/* SECTION */

.section{

  padding:95px 24px

}

.container{

  max-width:1220px;

  margin:auto

}

.heading{

  text-align:center;

  max-width:790px;

  margin:0 auto 52px

}

.heading small{

  color:var(--green);

  font-weight:700;

  text-transform:uppercase;

  letter-spacing:2px

}

.heading h2{

  font-size:clamp(34px,5vw,56px);

  color:var(--dark2);

  margin:12px 0

}

.heading p{

  font-size:18px;

  color:var(--muted);

  line-height:1.7

}

/* CARDS */

.cards{

  display:grid;

  grid-template-columns:repeat(3,1fr);

  gap:26px

}

.card{

  background:#fff;

  border-radius:var(--radius);

  padding:34px;

  min-height:265px;

  box-shadow:var(--shadow);

  border:1px solid rgba(0,143,76,.12);

  display:flex;

  flex-direction:column;

  justify-content:space-between;

  transition:.3s

}

.card:hover{

  transform:translateY(-8px)

}

.icon{

  width:58px;

  height:58px;

  border-radius:50%;

  display:grid;

  place-items:center;

  background:rgba(0,143,76,.12);

  color:var(--green);

  font-size:26px;

  margin-bottom:22px

}

.card h3{

  font-size:25px;

  color:var(--dark2);

  margin-bottom:14px

}

.card p{

  color:var(--muted);

  line-height:1.7

}

.date{

  color:var(--gold);

  font-weight:700;

  margin-top:22px

}

/* ABOUT */

.about{

  background:var(--dark);

  color:#fff

}

.about-grid{

  display:grid;

  grid-template-columns:1fr 1fr;

  gap:28px

}

.about-main{

  border-radius:var(--radius);

  padding:48px;

  background:
  linear-gradient(
    rgba(3,23,14,.82),
    rgba(3,23,14,.82)
  ),

  url('images/slika19.jpg')
  center/cover;

  box-shadow:var(--shadow)

}

.about-main small{

  color:var(--gold);

  text-transform:uppercase;

  letter-spacing:2px;

  font-weight:700

}

.about-main h2{

  font-size:clamp(34px,5vw,54px);

  margin:14px 0 22px

}

.about-main p{

  font-size:18px;

  line-height:1.85;

  color:#edf4ef

}

.stats{

  display:grid;

  grid-template-columns:repeat(2,1fr);

  gap:22px

}

.stat{

  border-radius:var(--radius);

  background:rgba(255,255,255,.08);

  border:1px solid rgba(213,180,107,.28);

  display:flex;

  flex-direction:column;

  align-items:center;

  justify-content:center;

  text-align:center;

  padding:34px

}

.stat strong{

  font-size:43px;

  color:var(--gold);

  margin-bottom:8px

}

/* FEATURES */

.feature-grid{

  display:grid;

  grid-template-columns:repeat(3,1fr);

  gap:26px

}

.feature{

  background:#fff;

  border-radius:var(--radius);

  overflow:hidden;

  box-shadow:var(--shadow)

}

.feature img{

  width:100%;

  height:265px;

  object-fit:cover

}

.feature div{

  padding:28px

}

.feature h3{

  color:var(--dark2);

  font-size:24px;

  margin-bottom:10px

}

.feature p{

  color:var(--muted);

  line-height:1.7

}

/* CTA */

.cta{

  background:
  linear-gradient(
    135deg,
    var(--green2),
    var(--dark)
  );

  color:white;

  text-align:center;

  border-radius:36px;

  padding:55px 28px;

  box-shadow:var(--shadow)

}

.cta h2{

  font-size:clamp(32px,5vw,52px);

  color:var(--gold);

  margin-bottom:15px

}

.cta p{

  max-width:720px;

  margin:0 auto 28px;

  line-height:1.7;

  color:#eef5f0;

  font-size:18px

}

/* CONTACT */

.contact{

  background:
  linear-gradient(
    rgba(3,23,14,.9),
    rgba(3,23,14,.9)
  ),

  url('images/slika1.jpg')
  center/cover;

  color:#fff

}

.contact .heading h2{

  color:var(--gold)

}

.contact .heading p{

  color:#e8f1eb

}

.contact-box{

  max-width:780px;

  margin:auto;

  padding:42px;

  border-radius:var(--radius);

  background:rgba(255,255,255,.09);

  border:1px solid rgba(213,180,107,.35);

  text-align:center;

  box-shadow:var(--shadow)

}

.contact-box p{

  font-size:18px;

  margin:13px 0

}

.contact-box a{

  color:var(--gold);

  font-weight:700

}

/* FOOTER */

.footer{

  background:#010c07;

  color:white;

  text-align:center;

  padding:26px;

  border-top:1px solid rgba(213,180,107,.25)

}

/* PAGE HERO */

.page-hero{

  padding:250px 24px 90px;

  background:
  linear-gradient(
    rgba(3,23,14,.86),
    rgba(3,23,14,.86)
  ),

  url('images/slika12.jpg')
  center/cover;

  color:white;

  text-align:center

}

.page-hero h2{

  font-size:clamp(40px,7vw,72px);

  color:var(--gold);

  margin-bottom:14px

}

.page-hero p{

  font-size:19px;

  color:#edf4ef;

  max-width:760px;

  margin:auto;

  line-height:1.7

}

/* ARTICLES */

.article-list{

  display:grid;

  gap:20px

}

.article{

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:20px;

  background:#fff;

  border-radius:24px;

  padding:24px 28px;

  box-shadow:0 15px 40px rgba(0,0,0,.11);

  border-left:6px solid var(--green);

  transition:.3s

}

.article:hover{

  transform:translateY(-4px)

}

.article h3{

  color:var(--dark2);

  font-size:22px

}

.article p{

  color:var(--muted);

  margin-top:7px

}

.article span{

  color:var(--gold);

  font-weight:700;

  white-space:nowrap

}

/* GALLERY */

.gallery-grid{

  columns:3 280px;

  column-gap:18px

}

.gallery-grid img{

  width:100%;

  margin:0 0 18px;

  border-radius:22px;

  box-shadow:0 15px 40px rgba(0,0,0,.16);

  cursor:pointer;

  transition:.3s

}

.gallery-grid img:hover{

  transform:scale(1.015)

}

/* MODAL */

.modal{

  display:none;

  position:fixed;

  z-index:1000;

  inset:0;

  background:rgba(0,0,0,.9);

  align-items:center;

  justify-content:center;

  padding:28px

}

.modal.open{

  display:flex

}

.modal img{

  max-width:92vw;

  max-height:82vh;

  border-radius:18px

}

.modal button{

  position:absolute;

  top:24px;

  right:30px;

  background:var(--gold);

  border:0;

  border-radius:50%;

  width:44px;

  height:44px;

  font-size:24px;

  cursor:pointer

}

/* RESPONSIVE */

@media(max-width:900px){

  .header-top{
    justify-content:flex-start
  }

  .logo{
    width:82px;
    height:82px
  }

  .brand h1{
    font-size:25px
  }

  .nav-inner{
    justify-content:flex-start;
    gap:22px
  }

  .hero-content,
  .page-hero{
    padding-top:215px
  }

  .cards,
  .about-grid,
  .stats,
  .feature-grid{
    grid-template-columns:1fr
  }

  .article{
    align-items:flex-start;
    flex-direction:column
  }

  .feature img{
    height:240px
  }

}

@media(max-width:520px){

  .section{
    padding:72px 18px
  }

  .header-top{
    padding:12px 18px
  }

  .logo{
    width:72px;
    height:72px
  }

  .brand h1{
    font-size:22px
  }

  .brand p{
    font-size:11px
  }

  .hero-content{
    padding:210px 18px 70px
  }

  .buttons .btn{
    width:100%;
    text-align:center
  }

  .about-main,
  .contact-box{
    padding:30px 22px
  }

}
/* PRVENSTVA STRANICA */

.prvenstva-page {
  padding-top: 240px;
  background:
    linear-gradient(rgba(3,23,14,.92), rgba(3,23,14,.65)),
    url('images/slika19.jpg') center/cover fixed;
  min-height: 100vh;
}

.prvenstva-page .section-heading small {
  color: var(--gold);
}

.prvenstva-page .section-heading h2 {
  color: white;
  text-shadow: 0 10px 30px rgba(0,0,0,.45);
}

.prvenstva-page .section-heading p {
  color: #eef5f0;
}

.prvenstva-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px;
}

.prvenstva-grid img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  border-radius: 32px;
  padding: 10px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 28px 80px rgba(0,0,0,.35);
  border: 1px solid rgba(213,180,107,.55);
  transition: .35s;
}

.prvenstva-grid img:hover {
  transform: translateY(-10px) scale(1.015);
  box-shadow: 0 35px 95px rgba(0,0,0,.48);
}

@media(max-width:900px) {
  .prvenstva-page {
    padding-top: 220px;
    background-attachment: scroll;
  }

  .prvenstva-grid {
    grid-template-columns: 1fr;
  }

  .prvenstva-grid img {
    height: auto;
  }
}
.poster{
  position:relative;
}

.poster img{
  cursor:pointer;
}

/* ISPRAVAK PRVENSTVA - header isti kao početna + modal */
.prvenstva-page .heading small {
  color: var(--gold);
}

.prvenstva-page .heading h2 {
  color: white;
  text-shadow: 0 10px 30px rgba(0,0,0,.45);
}

.prvenstva-page .heading p {
  color: #eef5f0;
}

.poster {
  position: relative;
}

.poster img {
  cursor: pointer;
}
.nav-btn{

  position:absolute;

  top:50%;

  transform:translateY(-50%);

  width:58px;

  height:58px;

  border:none;

  border-radius:50%;

  background:rgba(255,255,255,.18);

  color:white;

  font-size:34px;

  cursor:pointer;

  z-index:20;

  transition:.3s;

  backdrop-filter:blur(10px);

}

.nav-btn:hover{

  background:var(--gold);

  color:var(--dark);

}

.prev-btn{

  left:30px;

}

.next-btn{

  right:30px;

}

.close-btn{

  position:absolute;

  top:24px;

  right:30px;

  background:var(--gold);

  border:0;

  border-radius:50%;

  width:48px;

  height:48px;

  font-size:28px;

  cursor:pointer;

  z-index:25;

}

@media(max-width:700px){

  .nav-btn{

    width:46px;

    height:46px;

    font-size:26px;

  }

  .prev-btn{

    left:10px;

  }

  .next-btn{

    right:10px;

  }

}

/* ISPRAVAK MODALA - da se slike otvaraju i listaju pravilno */

.gallery-grid img,
.prvenstva-grid img {
  cursor: pointer;
}

.modal.open {
  display: flex;
}

.modal .close-btn {
  position: absolute;
  top: 24px;
  right: 30px;
  left: auto;
  transform: none;
  background: var(--gold);
  color: var(--dark);
  border: 0;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  font-size: 30px;
  cursor: pointer;
  z-index: 30;
  display: grid;
  place-items: center;
}

.modal .nav-btn {
  position: absolute;
  top: 50%;
  right: auto;
  transform: translateY(-50%);
  width: 58px;
  height: 58px;
  border: none;
  border-radius: 50%;
  background: rgba(255,255,255,.18);
  color: white;
  font-size: 34px;
  cursor: pointer;
  z-index: 25;
  transition: .3s;
  backdrop-filter: blur(10px);
  display: grid;
  place-items: center;
}

.modal .nav-btn:hover {
  background: var(--gold);
  color: var(--dark);
}

.modal .prev-btn {
  left: 30px;
}

.modal .next-btn {
  right: 30px;
  left: auto;
}

@media(max-width:700px) {
  .modal .nav-btn {
    width: 46px;
    height: 46px;
    font-size: 26px;
  }

  .modal .prev-btn {
    left: 10px;
  }

  .modal .next-btn {
    right: 10px;
  }

  .modal .close-btn {
    top: 16px;
    right: 16px;
    width: 42px;
    height: 42px;
    font-size: 26px;
  }
}
