@import url('https://fonts.googleapis.com/css?family=Poppins:200,300,400,500,600,700,800,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');

::-webkit-scrollbar{
    display: none;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
    touch-action: pan-x pan-y;
}



html {
    -webkit-text-size-adjust: 100%; /* Za iOS i Chrome na Androidu */
    -moz-text-size-adjust: 100%;    /* Za Firefox */
    -ms-text-size-adjust: 100%;     /* Za starije IE/Edge */
    text-size-adjust: 100%;
}


/*OVO TREBA PROVJERITI*/

:root{
    --naslov-color: #9f5a60;

  
   --krugovi-boja: linear-gradient(180deg, #fd909c 0%, #ce6f79 100%);
    --footer-boja: white;
    --footer-plava: #222534;
    --slova-footer: #3a393f;
}

body {
    overflow-y: scroll;
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
    background-color: rgba(255, 255, 255, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    touch-action: pan-y;
}




/*PISMO DIZAJN*/


 /* BLOKADA SKROLA DOK JE KOVERTA TU */
        body.stop-scroll { 
            overflow: hidden !important; 
            position: fixed; /* Ključno za iPhone */
            height: 100vh; 
        }

        /* KOVERTA PREKO CELOG EKRANA */
    #overlay-pocetni {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    /* Rešenje za iPhone: */
    height: 100vh; 
    height: 100dvh; 
    
    background-color: #fcfcfc;
    z-index: 9999999;
    display: flex;
    flex-direction: column; /* Osigurava slaganje odozgo nadole */
    justify-content: center;
    align-items: center;
    overflow: hidden;
    transition: opacity 0.8s ease, visibility 0.8s;
    
    
    width: 100vw;
}

#video-koverta {
    width: 100% !important;
    max-width: 490px !important;
    /* Prisiljavamo video da zauzme punu dostupnu visinu ako zatreba */
    height: 100%; 
    object-fit: contain; 
    display: block;
    
    
    width: 100vw !important;  /* Koristi 100vw da bude sigurno širina celog ekrana */
    height: 100dvh !important; /* Koristi dvh za dinamičku visinu na mobilnom */
    max-width: none !important; /* UKLONI ograničenje od 490px za ovaj uvodni video */
    object-fit: cover;         /* PROMENI sa contain na cover da video popuni sve ivice */
    display: block;
    
                    /* OVO DODAJEMO: */
    max-width: 450px !important;
    margin-left: auto;           
    margin-right: auto;          
    left: 0;                     
    right: 0;  
}



.klik-zona {
    position: absolute;
    /* Centriranje na ekranu */
    top: 0; 
    left: 0;
    
    /* Smanjena veličina da pokrije samo pečat */
    width: 100%; 
    height: 100%;
    
    /* Potpuno nevidljivo */
    background: transparent; 
    /*border-radius: 50%; */
    
    z-index: 10000000;
    cursor: pointer;
    
    /* Sprečava plavi odsjaj pri kliku na mobilnom */
    -webkit-tap-highlight-color: transparent;
    outline: none;
}


.sakrij-uvertiru { 
    opacity: 0 !important; 
    visibility: hidden !important; 
    pointer-events: none; 
        }
        
        
/* Uklanja plavi odsjaj na mobilnim telefonima */
#overlay-pocetni {
    -webkit-tap-highlight-color: transparent;
    outline: none;
}

/* Postavljamo overlay kao kontejner za apsolutno pozicionirano dugme */
#overlay-pocetni {
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
}











.phone-container {
    width: 100vw;
    max-width: 450px;
    background-color: white;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

header{
  display: flex;
  align-items: center;
  justify-content: space-around;
  /* UKLONJENA SJENKA */
  /* box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4); */
  position: sticky;
  top: 0;
  z-index: 1000;
  max-height: 50px;
  background-color: white; /* Dodana bijela pozadina da ne bude providan */
}

header .meni_logo .logo{
max-height: 50px;
margin-top: 5px;
}

section{
  margin-top: -7px;
}

.section-1 {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-top: 0px;
}

.margin-7{
    margin-top: -7px;
}

.section-1 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.section-2 {
  position: relative;
  /* OVO JE BROJ KOJI PODEŠAVAŠ: povlači cijeli tajmer gore, PREKO
     prazne/krem površine na dnu tvoje section-1 slike. Što je broj
     veći (negativniji), tajmer ide dublje gore u sliku.
     -300px je samo polazna vrijednost - otvori DevTools (F12),
     klikni na .section-2 i mijenjaj margin-top uživo dok se
     krugovi ne poklope tačno sa praznim prostorom na slici. */
  margin-top: -440px;
  width: 100%;
  min-height: 60px;
  /* overflow: hidden je uklonjen - sa velikom negativnom marginom
     može isjeći gornji dio tajmera ako section-1 (roditelj u DOM-u
     redoslijedu, ne u strukturi) ima svoj overflow:hidden koji bi
     sjekao sadržaj koji viri gore iz section-2 */
     margin-bottom: 250px;
}

.section-2 h1{
  /* Ovo pomjera SAMO tekst "Još samo" unutar sekcije - radi zajedno
     sa margin-top gore. Prvo namjesti margin-top na .section-2 da
     cijela kutija upadne na pravo mjesto, pa onda ovim brojem fino
     spusti/podigni sam naslov unutar tog prostora. */
  margin-top: 0px;
  text-align: center;
  color:  var(--naslov-color);
  font-family:  'Libre Baskerville', serif;
  font-weight: 800;
  font-size: 28px; /* SREDINA između originalnih 34px i prošlih 26px */
}

/* ODBROJAVANJE - KRUGOVI */
#time{
  display: flex;
  gap: 7px; /* SREDINA između originalnih 8px i prošlih 6px */
  justify-content: center;
  margin-top: 20px;
}

#time div{
  position: absolute;
  text-align: center;
  font-weight: 600;
  color: var(--clr);
  z-index: 10000;
  font-size: 1.07em; /* SREDINA između originalnih 1.2em i prošlih 0.95em */
}

#time div span{
  position: absolute;
  transform: translateX(-50%) translateY(-14px); /* Malo podešena pozicija */
  font-size: 0.25em;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-top: 3.5px;
}

/* TEKSTOVI ISPOD KRUGOVA */
.labels-container {
  display: flex;
  justify-content: center;
  gap: 7px; /* SREDINA između originalnih 8px i prošlih 6px */
  margin-top: 10px;
  width: 100%;
}

.label-box {
  width: 67px; /* SREDINA između originalnih 75px i prošlih 58px - ISTA vrednost kao #time .circle ispod */
  text-align: center;
}

.label-box h3 {
  color: var(--naslov-color);
  font-family: 'Libre Baskerville', serif;
  font-size: 13px; /* SREDINA između originalnih 14px i prošlih 12px */
  margin-top: 5px;
}

#time .circle {
  position: relative;
  width: 67px; /* SREDINA između originalnih 75px i prošlih 58px - GLAVNI BROJ koji kontroliše veličinu kruga.
                  Ako želiš još manje/veće krugove, promeni SAMO ovaj broj
                  (i isti broj upiši gore u .label-box da tekstovi ispod ostanu poravnati) */
  height: 67px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  
  /* CIJELI KRUG ODJEDNOM - Nema više rezova */
  background: var(--krugovi-boja);
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

/* Brišemo ::before i ::after jer nam više ne trebaju dva kruga */
#time .circle::before, 
#time .circle::after {
  display: none; 
}

/* Dodajemo sjenku unutar kruga da dobije na dubini */
#time .circle svg {
  position: relative;
  width: 100%;  /* PROMENJENO sa fiksnih 75px - sad SAM prati veličinu .circle
                   gore, tako da ubuduće menjaš veličinu na SAMO JEDNOM mestu */
  height: 100%;
  transform: rotate(270deg);
  z-index: 10;
  /* Ovo pravi 'kanal' u kojem bijela linija leži */
  background: rgba(0, 0, 0, 0.1); 
  border-radius: 50%;
}

#time .circle svg circle {
  fill: transparent;
  stroke-width: 2.5; /* Debljina tvog punjenja - NIJE DIRANO, viewBox u
                         index.html automatski skalira ovo zajedno sa krugom */
  stroke: var(--clr);
  stroke-linecap: round;
  cx: 37.5;
  cy: 37.5;
  r: 32; 
  stroke-dasharray: 207;
  stroke-dashoffset: 207;
}

.section-3 {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.section-3 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.footer .container{
  text-align: center;
}

.footer{
  margin-top: -7px;
  background: var(--footer-boja);
  font-size: 14px;
}

.footer .copyright {
  text-align: center;
  padding: 15px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  color: var(--slova-footer);
}

@media (max-width: 991px) {
  .footer .row{
      flex-direction: column;
      padding: 20px 0px;
  }
}

@media (max-width: 350px) {
  .section-1 img {
      object-fit: contain;
  }
}


/* KOD ZA DUGME SACUVAJ DATUM */

.image-button-container {
    position: relative;
    display: inline-block;
    width: 100%;
   
}

.background-image {
    width: 100%;
    display: block;
}

/* Nevidljiva zona preko dugmeta na slici */
/*.clickable-overlay {
    position: absolute;
    left: 15%; 
    width: 70%;
    cursor: pointer;
    background: rgba(255, 0, 0, 0);
    border-radius: 30px;
}

*/

.calendar-options.show-menu {
    display: block;
}

.calendar-options a {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    text-decoration: none;
    color: #333;
    font-size: 14px;
    border-bottom: 1px solid #eee;
}

/* Osiguravamo da su ikonice vidljive */
.calendar-options a img {
    display: inline-block !important; /* Forsiramo prikaz */
    vertical-align: middle;
    width: 20px; /* Malo smo ih povećali */
    height: auto;
    margin-right: 12px;
    filter: none !important; /* Sprečavamo da ih neka druga komanda sakrije */
}

/* Podešavanje samog menija */
.calendar-options {
    display: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 250px; 
    background: white;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    z-index: 9999; /* Da bude iznad svega */
    border: 1px solid #ddd;
    overflow: hidden;
}


.clickable-overlay {
    position: absolute;
    left: 15%;
    width: 70%;
    cursor: pointer;
    background: rgba(255, 0, 0, 0);
    border-radius: 30px;
    /* top i height se postavljaju JS-om */
}



/* DUGMAD MAPE */


.image-map-container {
    position: relative;
    display: inline-block;
    width: 100%;
    /* Sprečava slučajno selektovanje slike dok se klikće po dugmićima */
    -webkit-user-select: none;
    user-select: none;
}

.image-map-container img {
    width: 100%;
    display: block;
}

/* Osnova za oba nevidljiva dugmeta */
.map-link-btn {
    position: absolute;
    left: 15%;  /* Centrirano po širini */
    width: 70%; /* Širina dugmeta na slici */
    height: 12.5%; /* Malo povećana visina za lakši klik prstom */
    background: rgba(255, 255, 255, 0); /* Skroz providno */
    cursor: pointer;
    border-radius: 35px; /* Prati zaobljenost tvog dizajna */
    
    /* UKLANJANJE BLICA I TREPTANJA */
    -webkit-tap-highlight-color: transparent;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    outline: none;
    
    /* EFEKAT PRIRODNOG KLIKA */
    transition: background 0.2s ease;
}

.map-link-btn-2 {
    position: absolute;
    left: 15%;  /* Centrirano po širini */
    width: 70%; /* Širina dugmeta na slici */
    height: 12.5%; /* Malo povećana visina za lakši klik prstom */
    background: rgba(255, 255, 255, 0); /* Skroz providno */
    cursor: pointer;
    border-radius: 35px; /* Prati zaobljenost tvog dizajna */
    
    /* UKLANJANJE BLICA I TREPTANJA */
    -webkit-tap-highlight-color: transparent;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    outline: none;
    
    /* EFEKAT PRIRODNOG KLIKA */
    transition: background 0.2s ease;
}



/* Blagi vizuelni odgovor kada korisnik zapravo pritisne dugme */
.map-link-btn:active {
    background: rgba(255, 255, 255, 0.2); /* Nežni beli odsjaj unutar dugmeta */
}

/* Pozicija za Crkvu (Otvori mapu 1) */
.crkva-btn {
    top: 85.8%; 
}

/* Pozicija za Restoran (Otvori mapu 2) */
.restoran-btn {
    top: 71.8%;
}


.restoran-btn2 {
    top: 73.8%;
}


/* Globalna zaštita od sistemskih okvira i markiranja */
.map-link-btn, .map-link {
    -webkit-touch-callout: none;
    outline: none;
}

#calendar-main-btn, 
.clickable-overlay, 
.calendar-options a,
.map-link-btn {
    -webkit-tap-highlight-color: transparent;
    -webkit-tap-highlight-color: rgba(0,0,0,0); /* Dupla sigurnost za starije browsere */
    outline: none; /* Uklanja i narandžasti okvir koji se nekad javi */
}


/* RSVP */


/*PRVA VERZIJA SA KLANYEVIM PNG CVJETOVIMA ZA RSVP*/
.rsvp-wrapper {
    width: 100%;
    max-width: 490px;
    margin: 0 auto;
    position: relative;
    overflow-x: clip; /* NOVO: "clip" umesto "hidden" - ne forsira overflow-y na "auto" */
    overflow-y: visible; /* sad ovo stvarno radi kao visible, ne kao auto */
}

/* Osnovni stil za cvetove koji lebde */
.floral-overlay {
    position: absolute;
    width: 100%;
    height: auto;
    z-index: 10; /* Da bude iznad pozadine rsvp-a */
    pointer-events: none; /* KLJUČNO: da gost može da klikne na input ISPOD cveća */
}

.top-flowers {
    top: 0;
    left: 0;
}

.bottom-flowers {
    bottom: 0;
    left: 0;
}

/*zavrsena klanyeva verzija*/



/* --- STIL ZA GORNJU SLIKU -ODVOJENA SEKCIJA --- */

.header-floral-box {
   position: relative; /* Neophodno da bi z-index radio */
    z-index: 1000;        /* Povećano - ranije je ovo pregazio duplikat niže u fajlu */
    width: 100%;
    max-width: 490px;
    margin: -50px auto -170px auto; /* -60px gore uvlači cveće NAZAD u section-2, -170px dole preko RSVP sekcije */
    line-height: 0;
}

.header-floral-box img {
    width: 100%;
    height: auto;
    display: block;
}

/* --- STIL ZA DONJU SLIKU --- */
.footer-floral-box {
     position: relative; /* Neophodno da bi z-index radio */
    z-index: 10;        /* Veći broj da bi bila "iznad" */
    width: 100%;
    max-width: 490px;
    margin: 0 auto;
    line-height: 0;
    margin-top: -160px;
    pointer-events: none; /* ← OVO. Cvijeće postaje "prozirno" za klikove */
}

.footer-floral-box img {
    width: 100%;
    height: auto;
    display: block;
}


/**/


.section-rsvp {
    position: relative; /* Takođe neophodno */
    z-index: 5;         /* Manji broj od gornje slike */
    width: 100%;
    display: flex;
    justify-content: center;
    margin: -1px 0; /* Mali trik: -1px preklapanja rešava problem "belih linija" na nekim ekranima */
}


.rsvp-container {
    width: 100%;
    max-width: 490px;
    /* Tačne nijanse sa tvoje slike: svetlija u sredini, tamnija ka dnu */


background: radial-gradient(
    circle at 50% 45%,
    #b36b75 0%,    /* centar - najsvjetlija */
    #9A585F 55%,   /* prelazna nijansa */
    #814549 100%   /* ivice (gore/dole/strane) - najtamnija */
);


    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 120px 30px; 
    padding-bottom: 160px;
    box-sizing: border-box;
    text-align: center;
}



.rsvp-content {
    width: 100%;
    max-width: 350px; /* Drži formu uskom i elegantnom */
    text-align: center;
}

.rsvp-naslov {
    font-family: 'Source Serif 4', serif;
    color: #ffffff;
    font-size: clamp(36px, 11vw, 52px);
    letter-spacing: 1px;
    margin-bottom: 28px;
    line-height: 1.15;
}

.rsvp-opis {
    color: #ffffff;
    font-size: clamp(17px, 4.8vw, 22px);
    font-family: 'Source Serif 4', serif;
    line-height: 1.6;
    margin-bottom: 50px;
    font-weight: 300;
}

.datum-istaknuto {
    font-weight: 700; 
    display: inline-block;
    font-family: 'Source Serif 4', serif;
    margin-top: 5px;
    letter-spacing: 0.5px;
    margin-bottom: 20px;
  
}

.input-group {
    margin-bottom: 22px;
    width: 100%;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
}

.input-group input {
    width: 100%;
    background: #ffffff;
    border: 1.5px solid #ffffff;
    border-radius: 12px;
    color: var(--naslov-color);
    text-align: center;
    padding: 11px 14px;
    outline: none;
    font-family: 'Source Serif 4', serif;
    font-size: 15px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    -webkit-appearance: none;
    appearance: none;
}

.input-group input:focus {
    border-color: #6d5f3f;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.35);
}

.input-group input::placeholder {
    color: #6d5f3f;
    color: var(--naslov-color);
    opacity: 0.75;
    text-align: center;
}

/* Radio dugmići */
.potvrda-group {
    margin: 35px 0 45px;
}

.potvrda-group p {
    color: white;
    font-size: 18px;
    font-family: 'Source Serif 4', serif;
    margin-bottom: 18px;
}

.radio-options {
    display: flex;
    justify-content: center;
    gap: 40px;
}

.radio-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    color: white;
    font-family: 'Source Serif 4', serif;
    font-size: 20px;
    -webkit-tap-highlight-color: transparent;
}

.radio-label input {
    position: absolute;
    opacity: 0;
}

.checkmark {
    height: 24px;
    width: 24px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    margin-right: 10px;
    display: inline-block;
    position: relative;
}

.radio-label input:checked ~ .checkmark:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: white;
}

/* Dugme */
.custom-rsvp-btn {
    background-color: #ffffff;
    color: var(--naslov-color);
    font-family: 'Source Serif 4', serif;
    font-size: 18px;
    font-weight: 600;
    padding: 13px 0;
    width: 100%;
    max-width: 300px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    margin-top: 30px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    position: relative;
     z-index: 20; /* veće od z-index: 10 koji ima footer-floral-box */
}

/* Potpuna responsivnost za male ekrane do 200px */
@media (max-width: 320px) {
    .rsvp-naslov { font-size: 28px; }
    .rsvp-opis { font-size: 15px; }
    .input-group input { font-size: 16px; }
    .custom-rsvp-btn { font-size: 18px; /*max-width: 200px; */}
}

@media (max-width: 240px) {
    .rsvp-container { padding: 30px 10px; }
    .radio-options { gap: 15px; }
    .checkmark { margin-right: 5px; }
}

/* Uklanja strelice za Chrome, Safari, Edge i Operu */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Uklanja strelice za Firefox */
input[type=number] {
  -moz-appearance: textfield;
}


/*DODATAK ZA RSVP */

/* 1. Uklanjanje plave boje na klik (Android) */
.radio-label, 
.radio-label input[type="radio"], 
.radio-label span {
    -webkit-tap-highlight-color: transparent;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    outline: none;
}

/* Sakrivamo originalni sistemski krug koji iPhone kvari */
.radio-label input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Pravimo naš NOVI krug (checkmark) */
.checkmark {
    height: 18px;
    width: 18px;
    border: 2px solid #ffffff; /* Bela ivica kao na tvojoj slici */
    border-radius: 50%;
    display: inline-block;
    margin-right: 8px;
    position: relative;
    vertical-align: middle;
    background: transparent;
}

/* Bela tačkica unutra - nevidljiva dok se ne klikne */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: white; /* Boja tačkice */
}

/* Kada je radio dugme selektovano, prikaži tačkicu */
.radio-label input:checked ~ .checkmark:after {
    display: block;
}

/* Opciono: Pojačaj ivicu selektovanog kruga */
.radio-label input:checked ~ .checkmark {
    border: 2px solid #ffffff;
}

/* Sprečava plavljenje teksta na iPhone-u */
.radio-label {
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
}


/* SEKCIJA MUZIKA */

.audio-sekcija-kontejner {
    /* NOVA NARANDŽASTA TEMA */
background-image: url();
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
    --plejer-bg: #9b65af;           /* Pozadina kartice ostaje čista bijela */  
    --plejer-glavna: #fff; ;     /* Tvoja čista narandžasta za dugmad i progres bar */
    --plejer-naslov: #fff;      /* Tamno braon-narandžasta za kontrast (bolje od čisto crne) */
    --plejer-opis: #fff;        /* Nešto bljeđa nijansa za izvođača i vrijeme */
    --plejer-sjenka: rgba(0, 0, 0, 0.08);

    background: #fff;

    display: flex;
    justify-content: center;
    padding: 30px 15px;
    margin-top: 40px;
    margin-bottom: 60px;
}



.audio-kartica-elegant {
    background: var(--plejer-bg);
        background: linear-gradient(180deg, #bc94ca 0%, #9b65af 100%);
        background:  linear-gradient(180deg, #c5bc9f 0%, #8e7e5e 100%);
    width: 100%;
    max-width: 320px;
    padding: 25px;
    border-radius: 20px;
    box-shadow: 0 10px 25px var(--plejer-sjenka);
    text-align: center;
    border: 1px solid rgba(0,0,0,0.03);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-family: "Playfair Display", sans-serif;
    font-family: 'Poppins', sans-serif;

    margin-top: 40PX;
}

.audio-kartica-elegant h3 {
    color: var(--plejer-naslov);
    margin: 0 0 10px 0;
    font-size: 1.1rem;
}

.linija-razdvoji {
    height: 1px;
    background: var(--plejer-opis);
    opacity: 0.2;
    margin: 15px auto;
    width: 70%;
}

.info-pesma h4 { color: var(--plejer-naslov); margin: 5px 0; }
.info-pesma p { color: var(--plejer-opis); margin: 0 0 15px 0; font-size: 0.9rem; }

.vrijeme-prikaz {
    display: flex;
    justify-content: space-between;
    color: var(--plejer-opis);
    font-size: 0.8rem;
    margin-bottom: 5px;
}

/* Stil za Progress Bar */
/* Osnovni stil za traku */
.progres-klizac {
    -webkit-appearance: none;
    width: 100%;
    height: 10px; /* Malo deblja da bi ivice došle do izražaja */
    border-radius: 10px;
    
    /* IVICE: Ovdje definišeš boju okvira linije */
    border: 1px solid #ffffff;
    background-color: #ffffff; /* Boja "praznog" dijela trake */
    background-color: #af9f7e;
    
    /* PUNJENJE: Boja koja prati progres */
    background-image: linear-gradient(var(--plejer-glavna), var(--plejer-glavna));
    background-size: 0% 100%;
    background-repeat: no-repeat;
    
    outline: none;
    cursor: pointer;
    
    margin-bottom: 15px;
}

/* Stil za kružić (Thumb) - neka on ostane bijel sa ivicom da se ističe */
.progres-klizac::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 16px;
    width: 16px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid var(--plejer-glavna);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    cursor: pointer;
    margin-top: -1px; /* Centriranje u odnosu na traku */
}

.progres-klizac::-moz-range-thumb {
    height: 16px;
    width: 16px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid var(--plejer-glavna);
    cursor: pointer;
}

/* Kontrole */
.kontrole-omotac {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

/* --- FIKS ZA OKRUGLA DUGMAD --- */

.dugme-krug {
    -webkit-tap-highlight-color: transparent; /* Isključuje plavu pozadinu na klik */
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50% !important;
    padding: 0;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.dugme-krug.glavno {
    width: 65px;
    height: 65px;
    background: var(--plejer-glavna);
    background: #af9f7e;
    background: transparent;
    color: #fff;
    border: 1px solid #fff;
    /* Centriranje ikone */
    display: flex;
    align-items: center;
    justify-content: center;
}

.dugme-krug.sporedno {
    width: 45px;
    height: 45px;
    background: transparent;
    color: var(--plejer-glavna);
    border: 1px solid var(--plejer-glavna);
    /* Osiguravamo da i ovdje bude krug */
    border-radius: 50% !important;
}

/* Sređivanje SVG-a unutar dugmadi da ne bježi */
.dugme-krug svg {
    display: block;
    fill: currentColor; /* Da naslijedi boju teksta koju smo zadali */
}

.dugme-krug:active {
    transform: scale(0.9);
}

#mute-kontrola {
    position: fixed;
    bottom: 40px;
    /* POPRAVKA: Uvijek lijeva ivica vidljivog kontejnera */
    left: max(15px, calc(50vw - 215px));
    width: 45px;
    height: 45px;
    background: var(--naslov-color);
    border-radius: 50%;
    display: none;
    
    align-items: center;
    justify-content: center;
    
      z-index: 100000;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

/* Centriranje samog SVG-a */
#mute-kontrola svg {
    display: block;
    width: 24px;
    height: 24px;
}






/*DODATAK ZA RSVP */

/* 1. Uklanjanje plave boje na klik (Android) */
.radio-label, 
.radio-label input[type="radio"], 
.radio-label span {
    -webkit-tap-highlight-color: transparent;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    outline: none;
}

/* Sakrivamo originalni sistemski krug koji iPhone kvari */
.radio-label input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Pravimo naš NOVI krug (checkmark) */
.checkmark {
    height: 18px;
    width: 18px;
    border: 2px solid #ffffff; /* Bela ivica kao na tvojoj slici */
    border-radius: 50%;
    display: inline-block;
    margin-right: 8px;
    position: relative;
    vertical-align: middle;
    background: transparent;
}

/* Bela tačkica unutra - nevidljiva dok se ne klikne */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: white; /* Boja tačkice */
}

/* Kada je radio dugme selektovano, prikaži tačkicu */
.radio-label input:checked ~ .checkmark:after {
    display: block;
}

/* Opciono: Pojačaj ivicu selektovanog kruga */
.radio-label input:checked ~ .checkmark {
    border: 2px solid #ffffff;
}

/* Sprečava plavljenje teksta na iPhone-u */
.radio-label {
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
}

/* Sprečava promenu boje pozadine i teksta kod automatskog popunjavanja */
.input-group input:-webkit-autofill,
.input-group input:-webkit-autofill:hover, 
.input-group input:-webkit-autofill:focus, 
.input-group input:-webkit-autofill:active {
    /* Ovo "vara" pretraživač tako što postavlja ogromnu unutrašnju senku u boji polja */
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
    transition: background-color 5000s ease-in-out 0s;
    
    /* Postavlja boju slova na tamno bronzanu */
    -webkit-text-fill-color: #6d5f3f !important;
}

/* Dodatna sigurnost za novije verzije browsera */
.input-group input:autofill {
    background: #ffffff !important;
    color: #6d5f3f !important;
}




/* Potpuna responsivnost za male ekrane do 320px */

/* --- SUCCESS POPUP STILOVI --- */

/* Pozadina koja prekriva ceo ekran */
.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Providna bela pozadina sa zamućenjem */
    background: rgba(255, 255, 255, 0.4); 
    backdrop-filter: blur(8px); /* Ključ za moderan izgled */
    -webkit-backdrop-filter: blur(8px); /* Za Safari */
    
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    animation: fadeIn 0.3s ease; /* Lagani ulazak */
}

/* Bela kutija popupa */
.popup-content {
    background: white;
    /* Povećan vertikalni padding (50px gore/dole) za veću visinu */
    padding: 50px 25px; 
    border-radius: 28px; /* Malo zaobljenije za moderniji izgled */
    text-align: center;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.12);
    
    /* Širina ostaje optimalna za tvoj layout */
    width: 380px; 
    max-width: 92%; 
    
    border: 1px solid rgba(255, 255, 255, 0.3);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px; /* Dodaje automatski razmak između elemenata unutar popupa */
}

/* Animacija za pojavljivanje */
@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.9); }
    to { opacity: 1; transform: scale(1); }
}


/* Tekst u popupu */
.popup-content h3 {
    font-family: 'Source Serif 4', serif;
    font-size: 24px; /* Blago smanjeno sa 28px da bi "stalo" u jedan red */
    color: #333;
    margin: 15px 0 8px;
    line-height: 1.2;
}

.popup-content p {
    font-family: 'Source Serif 4', serif;
    font-size: 16px; /* Blago smanjeno sa 18px */
    color: #666;
    margin: 0;
    white-space: nowrap; /* Sprečava prelamanje u drugi red ako je baš blizu ivice */
}

/* --- ANIMACIJA ZELENOG CEKERA (SVG) --- */

.success-icon {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}

.checkmark-svg {
    width: 60px;
    height: 60px;
    display: block;
    stroke-width: 3;
    stroke: #4CAF50; /* Boja kvačice - možeš staviti i #54684c */
    fill: none;
}

/* Krug oko kvačice koji se iscrtava */
.checkmark__circle {
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    stroke-miterlimit: 10;
    stroke: #4CAF50; /* Boja kruga */
    fill: none; /* Krug bez popune */
    animation: strokeAnim 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
    border-radius: 50%; /* Ključni deo: zaobljene ivice za savršen krug */
    -webkit-border-radius: 50%; /* Za bolju kompatibilnost sa starijim browserima */
    -moz-border-radius: 50%;
}

/* Sama kvačica (Check) koja se iscrtava */
.checkmark__check {
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    stroke-linecap: round;
    stroke-linejoin: round;
    animation: strokeAnim 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.6s forwards;
}

/* Zajednička animacija za crtanje linija */
@keyframes strokeAnim {
    to { 
        stroke-dashoffset: 0; 
    }
}





.rsvp-opis {
    color: #ffffff;
    font-family: 'Quicksand', sans-serif;
    font-weight: 300;
    font-size: clamp(18px, 5.6vw, 27px);
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 55px;
    letter-spacing: 0.1px;
    padding-left: 15px;
    padding-right: 15px;
}

.datum-istaknuto {
    font-weight: 700;
    font-family: inherit; /* nasleđuje Quicksand od .rsvp-opis */
    letter-spacing: 0.1px;
    margin-top: 0;
}

.potvrda-group p {
    color: white;
    font-family: 'Quicksand', sans-serif;
    font-weight: 300;
    font-size: clamp(17px, 5vw, 21px);
    margin-bottom: 18px;
}

.radio-label {
    font-family: 'Quicksand', sans-serif;
    font-weight: 300;
    font-size: clamp(16px, 4.5vw, 18px);
}

.custom-rsvp-btn {
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
    font-size: clamp(16px, 4.5vw, 19px);
    letter-spacing: 0.2px;
}

.input-group input {
    font-family: 'Quicksand', sans-serif;
    font-weight: 500;
    font-size: clamp(14px, 4vw, 16px);
}

.input-group input::placeholder {
    font-family: 'Quicksand', sans-serif;
}

@media (max-width: 340px) {
    .rsvp-naslov { font-size: 30px; }
    .rsvp-opis { font-size: 16px; }
    .input-group input { font-size: 15px; }
}


.rsvp-naslov {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    color: #ffffff;
    font-size: clamp(34px, 10.5vw, 54px);
    font-size: 40px;
    letter-spacing: 0;
    line-height: 1.05;
    margin-bottom: 32px;
}

.rsvp-naslov-italic {

     font-family:  'Libre Baskerville', serif;
    font-style: italic;
    font-size: 34px;
    font-weight: 400;
    display: inline-block;
}

/* Zajednička animacija za crtanje linija */
@keyframes strokeAnim {
    to { 
        stroke-dashoffset: 0; 
    }
}




.plan-link {
    position: absolute;
    left: 10%;
    width: 80%;
    height: 3%;
    border-radius: 50px;
    -webkit-tap-highlight-color: transparent;
    outline: none;
    background: rgba(255, 0, 0, 0);
}

.crkva-link {
    top: 69.8%; /* ← POMJERI OVO */
}

.restoran-link {
    top: 83%; /* ← POMJERI OVO */
}

.restoran-link2 {
    top: 86.2%; /* ← POMJERI OVO */
}



@media (max-width: 342px) {
    .header-floral-box {
       margin-bottom: -170px;
}
}

@media (max-width: 332px) {
.footer-floral-box {
margin-top: -170px;
}
}


.calendar-options {
    position: absolute;
    left: 48%;
    transform: translateX(-50%);
    width: 250px;
    background: white;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    z-index: 99999;
    border: 1px solid #ddd;
    overflow: hidden;
    display: none;
}

.calendar-options.show-menu {
    display: block;
}

/* --- RSVP: DODAVANJE PRATILACA --- */

.companion-hint {
    color: #ffffff;
    opacity: 0.85;
    font-family: 'Quicksand', sans-serif;
    font-weight: 300;
    font-style: italic;
    font-size: clamp(13px, 3.8vw, 15px);
    text-align: center;
    margin-bottom: 14px;
}

.companion-add-row {
    display: flex;
    gap: 10px;
    width: 100%;
    max-width: 300px;
    margin: 0 auto 16px;
}

.companion-add-row input {
    flex: 1;
    min-width: 0;
    background: #ffffff;
    border: 1.5px solid #ffffff;
    border-radius: 12px;
    color: var(--naslov-color);
    text-align: center;
    padding: 11px 12px;
    outline: none;
    font-family: 'Quicksand', sans-serif;
    font-weight: 500;
    font-size: clamp(14px, 4vw, 16px);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    -webkit-appearance: none;
    appearance: none;
}

.companion-add-row input:focus {
    border-color: var(--naslov-color);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.35);
}

.companion-add-row input::placeholder {
    color: var(--naslov-color);
    opacity: 0.75;
    text-align: center;
    font-family: 'Quicksand', sans-serif;
}

#add-companion-btn {
    flex-shrink: 0;
    background: transparent;
    border: 1.5px solid #ffffff;
    color: #ffffff;
    border-radius: 12px;
    padding: 0 18px;
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
    font-size: clamp(13px, 3.8vw, 15px);
    cursor: pointer;
    transition: all 0.25s ease;
    -webkit-tap-highlight-color: transparent;
}

#add-companion-btn:hover,
#add-companion-btn:active {
    background: #ffffff;
    color: var(--naslov-color);
}

.companion-list {
    list-style: none;
    width: 100%;
    max-width: 200px;
    margin: 0 auto 22px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.companion-list li {
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.55);
    color: #ffffff;
    font-family: 'Quicksand', sans-serif;
    font-weight: 500;
    font-size: clamp(14px, 4vw, 16px);
    padding: 9px 16px;
    border-radius: 10px;
    text-align: center;
    word-break: break-word;
}

@media (max-width: 320px) {
    .companion-add-row input,
    #add-companion-btn { font-size: 14px; }
}




/*RSVP SAMO BROJ TELEFONA****************/

.rsvp-container {

    padding: 150px 15px; 

}

.contacts-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: 80px;
  
}

.contact-card {
  display: flex;
  align-items: center;
  background: white;
  border-radius: 50px;
  padding-top: 3px;
  padding-bottom: 3px;
  padding-left: 4px;
  padding-right: 20px;
  text-decoration: none;
  color: #5a4a3a;
  width: 220px;
  transition: opacity 0.2s;
  font-family: 'Source Serif 4', serif;
 box-shadow: 0px 8px 12px -4px rgba(90, 60, 30, 0.56);
}

.contact-card {
  -webkit-tap-highlight-color: transparent;
}

.contact-card:hover {
  opacity: 0.85;
}

.phone-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--naslov-color);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: white;
  fill: white;
}

.phone-icon svg {
  fill: white;
  stroke: white;
}



.phone-number {
  flex: 1;
  text-align: center;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0.5px;
  font-family: 'Source Serif 4', serif;
  padding-right: 1px;
}

.contact-name {
  font-size: 20px;
  font-style: italic;
  font-weight: 600;
  color: white;
  margin: 10px 0 20px 0;
  text-align: center;
  font-family: 'Source Serif 4', serif;
}

.contact-name:first-of-type {
    margin-bottom: 50px;
}


#koverta-video-wrapper {
    position: relative;
    width: 100vw;
    max-width: 450px;
    height: 100%;
    height: 100dvh;
}

#video-koverta {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
    margin: 0 !important;
    left: auto !important;
    right: auto !important;
}

#koverta-poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    z-index: 5;
    pointer-events: none;
}