/* ============================= */
/* ===== GLOBAL BASE =========== */
/* ============================= */

body{
  font-family: Arial, sans-serif;
  background:#f3fdf6;
  margin:0;
}

/* ============================= */
/* ===== HEADER ================ */
/* ============================= */

.fixed-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  background:#f3fdf6;
  z-index:1000;
  box-shadow:0 2px 6px rgba(0,0,0,.08);
}

.header-top{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:14px 20px;
}

.header-top h2{
  margin:0;
  text-align:center;
  font-size:20px;
  color:#2e7d32;
}

/* ============================= */
/* ===== ALERT BANNER ========== */
/* ============================= */

.alert-banner{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  padding:16px;
  background:#f44336;
  color:#fff;
  text-align:center;
  display:none;
  z-index:9999;
  font-weight:bold;
}

/* ============================= */
/* ===== MAIN CONTAINER ======== */
/* ============================= */

.container{
  max-width:1200px;
  margin:180px auto 40px auto;
  padding:0 20px;
}

/* ============================= */
/* ===== 3 COLUMN LAYOUT ======= */
/* ============================= */

.layout{
  display:grid;
  grid-template-columns:90px minmax(0,1fr) 280px;
  gap:32px;
  align-items:start;
}

/* ============================= */
/* ===== LEFT PROGRESS ========= */
/* ============================= */

.left-progress{
  position:sticky;
  top:170px;
  height:80vh;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.counter-text{
  font-weight:bold;
  margin-bottom:12px;
  color:#2e7d32;
}

.vertical-line{
  width:6px;
  height:300px;
  background:#e0f2e9;
  border-radius:6px;
  overflow:hidden;
}

.vertical-fill{
  width:100%;
  height:0%;
  background:#2e7d32;
  border-radius:6px;
  transition:height .3s ease;
}

/* ============================= */
/* ===== MAIN CONTENT ========== */
/* ============================= */

.main-content{
  min-width:0;
  background:#ffffffcc;
  padding:25px;
  border-radius:14px;
}

/* ============================= */
/* ===== QUESTIONS ============= */
/* ============================= */

.question{
  margin-bottom:18px;
  padding:16px 18px;
  border-radius:12px;
  background:#f9fff9;
  transition:.2s;
}

.question:hover{
  background:#f1faf2;
}

.question p{
  font-weight:bold;
  color:#1b5e20;
  margin-top:0;
}

label{
  display:block;
  cursor:pointer;
  padding:6px 8px;
  border-radius:6px;
  margin-bottom:4px;
}

label:hover{
  background:#eef7ef;
}


/* ===== BUTTON ================ */
/* ============================= */

button {
  width: 100%;
  background: transparent;  /* Make the button transparent */
  color: #388e3c;
  padding: 14px;
  border: 2px solid #388e3c;  /* Optional: Add a border if needed */
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  transition: .2s;
}

button:hover {
  background: rgba(0, 0, 0, 0.2);  /* Optional: Add a subtle hover effect */
  border-color: #388e3c;  /* Optional: Change border color on hover */
}

/* ============================= */
/* ===== RIGHT INFO PANEL ====== */
/* ============================= */

.right-info{
  position:sticky;
  top:170px;
  align-self:start;
  width:100%;
  max-height:80vh;
  overflow:auto;
  background:#f9fff9;
  padding:20px;
  border-radius:12px;
  font-size:14px;
  line-height:1.6;
}

.right-info h3{
  margin-top:0;
  font-size:15px;
  color:#2e7d32;
}

.right-info p{
  margin:0;
  opacity:.85;
}

/* ============================= */
/* ===== PAYWALL =============== */
/* ============================= */

#payHint{
  display:none;
  text-align:center;
  margin-top:20px;
  font-weight:bold;
  color:#1b5e20;
}

.cta-btn{
  display:inline-block;
  margin-top:15px;
  padding:12px 20px;
  background:#007bff;
  color:#fff;
  text-decoration:none;
  border-radius:8px;
  font-weight:bold;
}

.cta-btn:hover{
  background:#0056b3;
}

/* ===================================== */
/* ===== MOBILE VERSION ================= */
/* ===================================== */

@media (max-width: 1024px){

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

  .left-progress{
    position:relative;
    top:auto;
    height:auto;
    flex-direction:column;
    margin-bottom:20px;
  }

  .right-info{
    display:none;
  }

  .container{
    margin:120px auto 40px auto;
  }

  .main-content{
    padding:18px;
  }

  .question{
    padding:14px;
  }

  label{
    padding:10px;
    font-size:15px;
  }

  button{
    font-size:17px;
    padding:16px;
  }

}

/* ============================= */
/* ===== COOKIE BANNER ========= */
/* ============================= */

#cookieBanner{

display:none;

pointer-events:auto;

position:fixed;
bottom:20px;
left:50%;
transform:translateX(-50%);

background:#111;
color:#fff;

padding:18px 22px;

border-radius:10px;

box-shadow:0 8px 30px rgba(0,0,0,0.4);

max-width:420px;
width:90%;

font-size:14px;
line-height:1.5;

/* по-високо от curtain */
z-index:20000;

text-align:center;

}

/* ============================= */
/* ===== INTRO CURTAIN ========= */
/* ============================= */

#introCurtain{
position:fixed;
top:0;
left:0;
width:100%;
height:100vh;
z-index:9999;
overflow:hidden;

/* ✅ фонът е тук */
background:url("intro.jpg") center/cover no-repeat;
}

/* бутонът остава */
.curtain-btn{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
padding:18px 40px;
border-radius:40px;
border:none;
background:rgba(255,255,255,.92);
color:#2e7d32;
font-weight:600;
cursor:pointer;

/* ✨ ефект */
backdrop-filter: blur(10px);
box-shadow:0 10px 30px rgba(0,0,0,0.2);
z-index:10000;
}

/* ============================= */
/* ===== FOOTER ================= */
/* ============================= */

.site-footer{
text-align:center;
margin-top:80px;
padding-bottom:60px;
}

.footer-buttons{
display:flex;
justify-content:center;
align-items:center;
gap:18px;
flex-wrap:wrap;
margin-bottom:20px;
}

.footer-btn{
padding:12px 22px;
border-radius:40px;
background:#ffffff;
border:2px solid #e8f5e9;
color:#2e7d32;
font-weight:600;
text-decoration:none;
font-size:14px;
transition:.3s ease;
}

.footer-btn:hover{
background:#2e7d32;
color:#fff;
border-color:#2e7d32;
transform:translateY(-3px);
box-shadow:0 6px 16px rgba(46,125,50,.25);
}

.footer-copy{
font-size:12px;
opacity:.6;
text-align:center;
}
/* ============================= */
/* COOKIE BUTTON FIX */
/* ============================= */

.cookieButtons{
display:flex;
gap:10px;
justify-content:center;
flex-wrap:wrap;
}

.cookieButtons button{
width:auto;            /* FIX */
min-width:80px;

background:#2e7d32;
color:white;

border:none;
padding:8px 14px;

border-radius:6px;
cursor:pointer;

font-size:13px;
}

.cookieButtons button:nth-child(2){
background:#555;
}

.cookieButtons button:nth-child(3){
background:#999;
color:#000;
}
