/* ================= BARVNE SPREMENLJIVKE ================= */
:root {
    --primary: #00747A;   /* Temno modro-zelena iz logotipa */
    --accent:  #C8E000;   /* Svetlo limetno zelena iz logotipa */
	--accent-dark: #A5C300; /* Temnejša zelena za hover */
    --white:   #FFFFFF;
}

/* ================= NAVBAR ================= */
.navbar-custom {
    background-color: transparent;            
    transition: background-color 0.4s ease;
    box-shadow: none;
    padding: 1rem 1rem;
}
.navbar-custom.scrolled {
    background-color: rgba(0, 116, 122, 0.95); /* primary barva ob scrollu */
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

.navbar-custom.scrolled .nav-link.active {
    color: var(--accent) !important;
}

.navbar-custom.scrolled .nav-link:hover {
    color: var(--accent) !important;
}

.navbar-brand {
    padding: 0;
    margin-left: 100px;
    position: relative;
    top: 0;
    left: 10px;
}

.logo-img {
    height: 60px;
    width: auto;
}

.nav-link {
    color: var(--white);
    font-size: 1rem;
    margin-left: 1.5rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    letter-spacing: 0.5px;
    line-height: 1.2;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.nav-link.active {
    color: var(--primary) !important;  
}

.navbar-nav {
    margin-right: 100px;
    position: relative;
    top: 0;
    right: 0;
}

.nav-link:hover {
    color: var(--primary);
}

.navbar {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
}

.navbar-spacer {
    height: 0px;
}

/* Responsive navbar */
@media (max-width: 991px) {
    .navbar-custom {
        padding: 0.75rem 1rem;
    }

    .navbar-collapse {
        background-color: var(--primary);
        padding: 1rem;
    }
	
	  /* Hover in aktivni link = accent (limetno zelena) */
  .navbar-collapse .nav-link:hover,
  .navbar-collapse .nav-link.active {
    color: var(--accent) !important;
  }

    .nav-link {
        margin-left: 0;
        padding: 0.5rem 0;
        font-size: 0.9rem;
        font-weight: 500;
        letter-spacing: 0.3px;
    }

    .navbar-brand {
        margin-left: 5px;
        top: 0;
        left: 5px;
    }

    .logo-img {
        height: 40px;
    }

    .navbar-nav {
        margin-right: 5px;
    }

    .navbar-spacer {
        height: 64px;
    }
}

/* ================= HEADER ================= */
.header-image {
    width: 100%;
    height: 480px;
    background: url('../slike/header.jpg');
    background-size: cover;
    background-position: top;
    position: relative;
    z-index: 1;
    border-bottom: 4px solid var(--accent);
}

.header-text {
    position: absolute;
    top: 50%;     
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--white);
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    z-index: 902;
    padding-top: 0px;
}

.header-text h1 {
    font-size: 4rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.header-text p {
    font-size: 1rem;
    font-weight: 400;
    color: var(--accent);
}

/* Mobilni header */
@media (max-width: 767px) {
    .header-image {
        height: 270px;
    }

    .header-text {
        top: 50%;
    }

    .header-text h1 {
        font-size: 2rem;
    }

    .header-text p {
        font-size: 1rem;
    }
}

/* ================= CONTENT ================= */
.content-area {
    margin-top: 0;
    padding: 40px 20px 0 20px;
    background: var(--primary);
    border-top: none;
}

.content-section {
    display: none;
    color: var(--white);
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    max-width: 70%;
    margin: 0 auto;
}
.content-section.active {
    display: block;
}
.content-section h2 {
    font-size: 1.5rem;
    font-weight: 600;
}

/* Mobilna content višina */
@media (max-width: 767px) {
    .content-section {
        font-size: 0.9rem;
        font-weight: 400;
        max-width: 100%;
        padding: 0 15px;
    }

    .content-section h2 {
        font-size: 1.2rem;
        font-weight: 500;
    }

    .content-area {
        min-height: calc(100vh - 200px);
    }
}

/* ================= BODY ================= */
body {
    background: var(--primary);
    margin: 0;
    padding: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    min-height: 100vh;
}

/* ================= PYRAMID ================= */
.square {
    width: 60px;
    height: 60px;
    margin: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--white);
    border: 2px solid var(--white);
    background-color: var(--accent);
    border-radius: 5px;
    font-size: 0.8rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    cursor: pointer;
}
.square:hover {
    background-color: var(--white);
    color: var(--primary);
}

/* ================= FORMS ================= */
.form-group {
    margin-bottom: 15px;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

.form-control {
    font-family: 'Montserrat', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: var(--white);
    background-color: var(--primary);
    border: 1px solid var(--accent);
    border-radius: 5px;
}

.form-control:focus {
    color: var(--accent);
    background-color: var(--primary);
    border-color: var(--white);
    box-shadow: none;
    outline: none;
}

.form-control::placeholder {
    color: rgba(255, 255, 255, 0.6);
}

.btn-primary {
    background-color: var(--accent);
    border-color: var(--accent);
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: var(--white);
}

.btn-primary:hover {
    background-color: var(--white);
    border-color: var(--primary);
    color: var(--primary);
}

/* ================= FOOTER ================= */
.footer {
    background-color: var(--primary);
    color: var(--white);
    text-align: center;
    padding: 20px 0;
    width: 100%;
    margin-top: 15px;
    font-size: 0.8rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
}

/* ================= LOGO & TITLE ================= */
.header-logo {
    width: 240px;
    height: auto;
    margin-bottom: 20px;
}
.header-title {
    display: block;
}

body.home .header-logo {
    width: 340px;
    margin-bottom: 0;
}
body.home .header-title,
body.home .header-text p {
    display: none;
}

/* Mobilni pogled */
@media (max-width: 767px) {
    body:not(.home) .header-logo {
        width: 150px !important;
        margin-bottom: 20px;
    }

    body.home .header-logo {
        width: 190px !important;
        margin-bottom: 0;
    }
}

.btn-accent {
    background-color: var(--accent);
    color: var(--white);
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    padding: 12px 28px;
    border-radius: 6px;
    text-decoration: none;
    display: inline-block;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.btn-accent:hover {
    background-color: var(--white);
    color: var(--accent);
}

h2 {
  margin-bottom: 30px;
}

.opis {
  margin-bottom: 30px;
}

.custom-alert {
    color: var(--accent);
    font-weight: 600;
    text-align: center;
    margin-top: 15px;
}

.grecaptcha-badge {
    display: none !important;
}

body.kontakt-active .grecaptcha-badge {
    display: block !important;
    z-index: 9999;
    bottom: 10px;
    right: 10px;
    position: fixed !important;
}

/* ================= FEATURE BOX ================= */
/* ================= FEATURE BOX ================= */
.feature-box {
  background: var(--accent);
  color: var(--white);
  border: 2px solid var(--accent);
  border-radius: 10px;
  transition: all 0.3s ease;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: auto; /* na mobilnih prilagodljiva višina */
}

.feature-box .card-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.feature-box .card-title {
  font-size: 1.3em;
  font-weight: 700;
  margin-bottom: 10px;
}

.feature-box .card-text {
  font-size: 1em;
  margin-bottom: 0;
}

/* Hover efekt */
.feature-box:hover {
  background: var(--white);
  color: var(--primary);
  border-color: var(--white);
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  transition: all 0.25s ease-in-out;
}

/* Mobilni razmik */
@media (max-width: 767px) {
  .feature-box {
    margin-bottom: 20px;
    height: auto; /* manjša, prilagodljiva višina */
  }
}

/* Enaka višina samo za večje zaslone */
@media (min-width: 768px) {
  .feature-box {
    height: 200px; /* vsi enake višine */
  }
}



/* ================= CAROUSEL ================= */
#heroCarousel {
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
  border: 3px solid var(--accent);
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  #heroCarousel {
    margin-bottom: 0px;
  }
}

@keyframes pulse-logo {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.08); }
  100% { transform: scale(1); }
}

.header-logo {
  animation: pulse-logo 2.5s infinite ease-in-out;
}

.lokacija-link {
  margin-top: 10px;
  font-size: 0.95rem;
  font-weight: 600;
}

.lokacija-link a {
  color: var(--accent);
  text-decoration: none;
}

.lokacija-link a:hover {
  text-decoration: underline;
}

@media (max-width: 767px) {
  .lokacija-link {
    margin-bottom: 30px;
  }
}

/* ================= SOCIAL LINKS ================= */
.social-links {
  margin: 20px 0 0 0;
}

.social-title {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 15px;
  color: var(--white);
}

.social-icon {
  font-size: 2rem;
  margin: 0 15px;
  color: var(--white);
  transition: color 0.3s ease, transform 0.3s ease;
}

.social-icon:hover {
  color: var(--accent);
  transform: scale(1.2);
}

.carousel-item {
  transition: transform 0.8s ease-in-out;
}

.text-box {
  border-left: 6px solid var(--accent);
  padding-left: 20px;
}
.text-box h2 {
  margin-bottom: 10px;
}

.desktop-text { display: block; }
.mobile-text { display: none; }

@media (max-width: 767px) {
  .desktop-text { display: none; }
  .mobile-text { display: block; }
}

@media (min-width: 768px) {
  .pod-carousel {
    font-size: 1.3rem;
  }
}

.carousel-caption {
  background: rgba(255, 255, 255, 0.5);
  border-radius: 8px;
  padding: 10px 15px;
  color: var(--primary);
  display: inline-block;
}

@media (max-width: 767px) {
  .mobile-text {
    margin-bottom: 35px;
  }

  .lokacija-link {
    margin-top: 25px;
    margin-bottom: 0px;
  }
}

/* ================= TEČAJI SEKCIJA ================= */
#tecaji-row img {
  border-radius: 15px;
  border: 3px solid var(--accent);
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
  margin-bottom: 20px;
  max-width: 100%;
  height: auto;
}

.social-links .social-icon::before,
.social-links .social-icon::after {
    content: none !important;
}

.social-links .social-icon {
    display: inline-block;
    margin: 0 15px;
    font-size: 2rem;
    color: var(--white);
    transition: color 0.3s ease, transform 0.3s ease;
    text-decoration: none;
}

.kontakt-telefon {
  margin-top: 35px;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--white);
}

.kontakt-telefon i {
  color: var(--accent);
  margin-right: 8px;
}

.kontakt-telefon a {
  color: var(--white);
  text-decoration: none;
}

.kontakt-telefon a:hover {
  text-decoration: underline;
  color: var(--accent);
}

@media (min-width: 992px) {
  .content-section {
    font-size: 1.3em;
    line-height: 1.6; /* prijeten razmik med vrsticami */
  }

  .content-section h2 {
    font-size: 1.3em;
    margin-bottom: 20px;
  }

  .content-section p {
    margin-bottom: 18px;
  }
}

@media (min-width: 992px) {
  .feature-box .card-title {
    font-size: 1.3em; /* povečano glavno besedilo gumba */
    font-weight: 700;
  }

  .feature-box .card-text {
    font-size: 1em; /* malo večji podnapis */
  }

  .feature-box {
    padding: 20px 10px; /* malo več notranjega prostora */
  }
}

@media (min-width: 768px) {
  .feature-box {
    min-height: 200px; /* vsi gumbi enako visoki */
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .feature-box .card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .feature-box .card-title {
    margin-bottom: 10px;
  }

  .feature-box .card-text {
    margin-bottom: 0;
  }
}

@media (min-width: 992px) {
  /* Kontaktni obrazec – širši in uravnotežen */
  .form-group {
    max-width: 550px;         /* širši vnosni okvirji */
    margin-bottom: 22px;      /* več prostora med polji */
  }

  #kontakt .form-control {
    padding: 12px 16px;       /* več notranjega roba */
    font-size: 1.1em;         /* malo večja pisava */
  }

  #kontakt label {
    font-size: 1.1em;         /* večja berljivost oznak */
    font-weight: 600;
  }

  #kontakt button.btn-primary {
    font-size: 1.1em;         /* večji gumb */
    padding: 12px 28px;
    border-radius: 8px;
  }

  #kontakt button.btn-primary:hover {
    transform: scale(1.05);   /* rahlo povečanje ob hoverju */
    transition: transform 0.2s ease;
  }
}

@media (min-width: 992px) {
  .nav-link {
    font-size: 1.2rem;      /* prej 1rem */
    font-weight: 600;       /* malenkost debelejša črka */
    letter-spacing: 0.6px;  /* malo več razmika med črkami */
  }
}        

/* 🔹 Povečaj pisavo in gumb za "Izpolni spletno prijavnico" */
a.btn.btn-primary {
  font-size: 1.2rem;      /* povečana pisava */
  padding: 12px 30px;     /* večji gumb */
  border-radius: 8px;     /* enako kot pri ostalih */
}     

a.btn.btn-primary:hover {
  transform: scale(1.05);
  transition: transform 0.2s ease;
}                    

#clanstvo .text-muted {
  color: var(--accent) !important;
  font-weight: 600;
  font-size: 1.3rem;
  text-decoration: none;
}

/* 🎾 Rezervacije – prilagoditev velikosti feature boxa */
#rezervacije .feature-box {
  padding: 18px 10px !important;
  height: auto !important;
  max-width: 380px;          /* manjša širina – bolj skladno z višino besedila */
  margin: 0 auto;
}

/* 🎾 Več prostora med feature boxom in logotipi aplikacij */
#rezervacije .feature-box {
  margin-bottom: 35px !important;  /* prej je bil preblizu logotipom */
}


} 

/* 📌 Footer vedno na dnu strani – deluje s fiksnim navbarjem */
html, body {
  height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
}

body {
  background: var(--primary);
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  color: var(--white);
}

main, .content-area {
  flex: 1 0 auto; /* glavni del zapolni višino */
}

.footer {
  flex-shrink: 0;
  background-color: var(--primary);
  color: var(--white);
  text-align: center;
  padding: 20px 0;
  width: 100%;
  font-size: 0.8rem;
  font-weight: 500;
  margin-top: auto;
}

/* 🟢 Slika v sekciji ČLANSTVO – enako oblikovanje kot tenis.jpeg in padel.jpeg */
#clanstvo img {
  border-radius: 15px;
  border: 3px solid var(--accent);
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
  margin-bottom: 20px;
  max-width: 100%;
  height: auto;
}

/* 📱 Popravek za sliko v sekciji ČLANSTVO (mobilni pogled) */
@media (max-width: 767px) {
  #clanstvo img {
    max-width: 80%;         /* zmanjša širino slike glede na zaslon */
    height: auto !important; /* ohrani razmerje */
    margin: 0 auto;          /* centrira sliko */
    display: block;           /* zagotovi centriranje */
  }
}

#novice {
  text-align: center;
  margin: 60px 0 80px 0;
}

#novice .fb-page {
  width: 100% !important;
  max-width: 900px;
  margin: 0 auto;
  border: 3px solid var(--accent);
  border-radius: 10px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.3);
  background: #fff;
  overflow: hidden;
}

/* 📱 popravek za telefon */
@media (max-width: 768px) {
  #novice .fb-page {
    max-width: 100% !important;
  }

  /* prisili iframe znotraj vtičnika, da se prilagodi */
  #novice iframe {
    width: 100% !important;
    min-width: 100% !important;
    height: 650px !important;
  }
}

/* 🟢 Prikaži novice samo na mobilnih napravah */
@media (min-width: 769px) {
  #novice {
    display: none !important; /* skrije celoten blok z novicami na desktopu */
  }
}

@media (max-width: 768px) {
  #novice {
    display: block !important; /* pokaže novice samo na mobilnih napravah */
  }
}

/* ================= LIGA: RAZPORED ================= */

#liga .krog-title{
  margin: 28px 0 14px 0;        /* več razmika med krogi */
  font-weight: 700;
  color: var(--accent);
}

#liga .liga-list{
  list-style: none;
  padding-left: 0;
  margin: 0 0 30px 0;          /* RAZMIK pred naslednjim krogom */
}

#liga .liga-list li{
  padding: 12px 14px;
  margin-bottom: 10px;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 12px;
  background: rgba(255,255,255,0.06);
}

#liga .liga-list li.prost{
  margin-top: 6px;
  border-color: rgba(200,224,0,0.65);
  background: rgba(200,224,0,0.10);
}


/* ================= LIGA: LESTVICA ================= */

.liga-table-wrap{
  border: 3px solid var(--accent);
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
  padding: 18px 16px;
  background: rgba(255,255,255,0.08);
  text-align: left;
  margin-bottom: 30px;        /* prostor pod lestvico (desktop + mobile) */
}

/* Naslov lestvice */
.liga-table-title{
  text-align: center;
  margin-bottom: 18px;
  font-weight: 700;
  color: var(--white);
}

/* Prepiše Bootstrap .table */
.liga-table{
  --bs-table-bg: transparent;
  --bs-table-color: var(--white);
  margin-bottom: 12px;
  border-collapse: separate;
  border-spacing: 0;
}

/* Glava tabele */
.liga-table thead th{
  background: rgba(255,255,255,0.9);
  color: var(--primary);
  font-weight: 700;
  white-space: nowrap;
  border: none;
  padding: 10px 12px;
}

/* Telo tabele */
.liga-table tbody td{
  background: rgba(0,0,0,0.25);
  color: var(--white);
  border-color: rgba(255,255,255,0.15);
  vertical-align: middle;
  padding: 10px 12px;
}

/* Hover efekt */
.liga-table tbody tr:hover td{
  background: rgba(255,255,255,0.12);
}

/* Zaokroženi robovi */
.liga-table tbody tr:first-child td:first-child{
  border-top-left-radius: 8px;
}
.liga-table tbody tr:first-child td:last-child{
  border-top-right-radius: 8px;
}
.liga-table tbody tr:last-child td:first-child{
  border-bottom-left-radius: 8px;
}
.liga-table tbody tr:last-child td:last-child{
  border-bottom-right-radius: 8px;
}

/* Opombe pod lestvico */
.liga-note{
  font-size: 0.95rem;
  opacity: 0.9;
  margin: 8px 0 0 0;
  text-align: center;
  color: var(--white);
}


/* ================= MOBILNA PRILAGODITEV ================= */
@media (max-width: 767px){

  /* več zraka okoli lestvice */
  .liga-table-wrap{
    padding: 16px 14px;
    margin-bottom: 40px;      /* jasno loči lestvico od razporeda */
  }

  /* več razmika med krogi na mobilnem */
  #liga .krog-title{
    margin-top: 36px;
    margin-bottom: 16px;
  }

  #liga .liga-list{
    margin-bottom: 36px;
  }

  #liga .liga-list li{
    padding: 12px 14px;
  }

  /* tabela – kompaktnejša */
  .liga-table thead th,
  .liga-table tbody td{
    padding: 8px 10px;
    font-size: 0.9rem;
  }
}

/* Naslov lige nad obema stolpcema */
#liga .liga-main-title{
  margin: 0 0 25px 0;
  font-weight: 700;
  color: var(--white);
  text-align: left;
}

/* Mobilno: malo več razmika pod naslovom */
@media (max-width: 767px){
  #liga .liga-main-title{
    margin-bottom: 22px;
  }
}










