:root{
  --venkov-primary:#2F6D3A;
  --venkov-primary-dark:#245B2A;
  --venkov-primary-weak:#7BAF62;
  --venkov-accent:#E6A33A;
  --venkov-accent-dark:#C07E1F;
  --venkov-link:#3D7BB0;
  --venkov-text:#2B2F28;
  --venkov-border:#E3E7E1;
  --venkov-soft:#F4F6F3;
  --radius:12px;
  --shadow:0 6px 20px rgba(0,0,0,.06);
}

body{
  color:var(--venkov-text);
  background:radial-gradient(900px 400px at 10% -20%,#f0f5ef 0%,transparent 55%),var(--venkov-soft);
  position:relative;
  z-index:0;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background:url("/img/background.png") center/cover no-repeat;
  opacity:.22;
  filter:blur(2.5px) saturate(105%);
  z-index:-1;
}

.container-sm{max-width:1140px;}

a{color:var(--venkov-link);}
a:hover{color:#2f679f;}

.navbar{
  background:rgba(255,255,255,.37)!important;
  backdrop-filter:blur(8px) saturate(120%);
  box-shadow:0 2px 16px rgba(0,0,0,0);
}
.brand-logo{
  height:82px;
  width:auto;
  display:block;
  width:200px;
}
.navbar-brand .brand-title{font-weight:700;}
.page-head-image{
  width:220px;
  height:122px;
  display:block;
  margin:0 auto;
}

.dual-col{width:40vw;margin:0 auto;}

.page-head{margin:24px 0 6px;border-bottom:1px solid rgba(0,0,0,.06);padding-bottom:12px;}
.page-head h1{font-size:1.6rem;font-weight:800;margin:0;}
.page-head .lead{font-size:.98rem;}

.btn-cta,.btn-primary{
  background:var(--venkov-primary);
  border:1px solid var(--venkov-primary);
  color:#fff;
  border-radius:var(--radius);
  box-shadow:0 10px 22px rgba(47,109,58,.22);
  font-weight:700;
  transition:transform .06s ease,box-shadow .15s ease;
}
.btn-cta:hover,.btn-primary:hover{
  background:var(--venkov-primary-dark);
  border-color:var(--venkov-primary-dark);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(47,109,58,.28);
}
.btn-cta:focus,.btn-primary:focus{
  outline:0;
  box-shadow:0 0 0 .2rem rgba(230,163,58,.32);
}
.btn-cta:disabled,.btn-primary:disabled{opacity:.6;box-shadow:none;}

.btn-harvest,.btn-warning{
  background:var(--venkov-accent);
  border:1px solid var(--venkov-accent);
  color:#1a1408;
  border-radius:var(--radius);
  font-weight:600;
}
.btn-harvest:hover,.btn-warning:hover{
  background:var(--venkov-accent-dark);
  border-color:var(--venkov-accent-dark);
  color:#1a1408;
}

.btn-outline-venkov,.btn-outline-primary{
  background:#fff;
  color:var(--venkov-primary);
  border:1px solid var(--venkov-primary);
  border-radius:var(--radius);
  font-weight:600;
}
.btn-outline-venkov:hover,.btn-outline-primary:hover{
  background:rgba(47,109,58,.06);
  color:var(--venkov-primary-dark);
  border-color:var(--venkov-primary-dark);
}

.btn-chip{
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--venkov-border);
  color:var(--venkov-text);
}
.btn-chip:hover{border-color:var(--venkov-primary-weak);color:var(--venkov-primary);}

.card,.box{
  border:1px solid var(--venkov-border);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--shadow);
}
.auction-card{
  border-radius:18px;
  overflow:hidden;
  transition:transform .18s ease,box-shadow .2s ease;
}
.auction-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 50px rgba(30,27,75,.12);
}
.card-img-top{
  object-fit:cover;
  height:260px;
  border-radius:16px 16px 0 0;
}

.auction-info{
  text-align:center;
  font-weight:bolder;
  font-size:30px;
}

.badge-live,.badge-upcoming{
  position:absolute;
  top:12px;
  left:12px;
  padding:6px 12px;
  border-radius:999px;
  color:#fff;
  font-weight:700;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.badge-live{background:linear-gradient(90deg,var(--venkov-accent),var(--venkov-primary));}
.badge-live::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:999px;
  box-shadow:0 0 0 0 rgba(230,163,58,.45);
  animation:pulse 1.8s ease-out infinite;
}
@keyframes pulse{to{box-shadow:0 0 0 14px rgba(230,163,58,0);}}
.badge-upcoming{background:#9aa4a0;}

.meta-bar{
  height:3px;
  background:#e8ece6;
  border-radius:999px;
  overflow:hidden;
  margin-top:6px;
}
.meta-bar>i{
  display:block;
  height:100%;
  width:35%;
  background:linear-gradient(90deg,#E6A33A,#2F6D3A);
}

.modal-content{
  border:0;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  box-shadow:0 28px 80px rgba(32,40,32,.18);
}

.navbar-icv{
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(10px) saturate(120%);
  border-bottom: 1px solid rgba(0,0,0,.04);
  box-shadow: 0 6px 24px rgba(0,0,0,.06);
}
.navbar-icv .brand-title{
  font-weight: 800;
  letter-spacing: .2px;
}
.nav-actions{
  display:flex;
  gap:.5rem;
  align-items:center;
}

.user-chip{
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--venkov-border);
  color: #374151;
  font-weight: 600;
}
.user-chip.muted{
  color:#6b7280;
  font-weight:500;
}

.btn-admin{
  background:#fff;
  color:#374151;
  border:1px solid var(--venkov-border);
  border-radius:999px;
  padding:.45rem .8rem;
  font-weight:600;
}
.btn-admin:hover{
  background:#f5f7f4;
  color:#111827;
  border-color:#d7dbd4;
}

.btn-login{
  background: var(--venkov-primary);
  color:#fff;
  border:1px solid var(--venkov-primary);
  border-radius:999px;
  padding:.45rem .9rem;
  font-weight:700;
}
.btn-login:hover{
  background: var(--venkov-primary-dark);
  border-color: var(--venkov-primary-dark);
}

.btn-logout{
  background:#ffffff;
  color:#374151;
  border:1px solid #d9dfd7;
  border-radius:999px;
  padding:.45rem .9rem;
  font-weight:700;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .06s;
}
.btn-logout:hover{
  background:#f3f6f2;
  color:#111827;
  border-color:#cbd3c7;
  transform: translateY(-1px);
}
.btn-logout:focus{
  outline:0;
  box-shadow:0 0 0 .2rem rgba(47,109,58,.18);
}

.bid-modal{ padding-bottom: .25rem; }

.bid-input-lg{
  width:min(460px, 90%);
  --pad: .95rem;
  --fs: 2.2rem;
  --rad: 14px;
  filter: drop-shadow(0 10px 22px rgba(47,109,58,.10));
}
.bid-input-lg .form-control{
  font-size:var(--fs);
  font-weight:800;
  padding:.6rem var(--pad);
  border:1px solid var(--venkov-border);
  border-right:0;
  border-radius:var(--rad) 0 0 var(--rad);
  height:auto;
}
.bid-input-lg .input-group-text{
  font-size:calc(var(--fs) * .72);
  font-weight:700;
  padding:.6rem var(--pad);
  background:#fff;
  border:1px solid var(--venkov-border);
  border-radius:0 var(--rad) var(--rad) 0;
}

.slider{
  width: 90%;
  margin: 0 auto;
}

.bid-stepper .btn-step{
  width:52px;
  height:52px;
  border-radius:14px;
  font-size:1.4rem;
  font-weight:700;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 18px rgba(0,0,0,.06);
}
.bid-stepper .btn-step:focus{ box-shadow:0 0 0 .2rem rgba(47,109,58,.18); }

.bid-range{
  width:100%;
  accent-color: var(--venkov-primary);
}
.bid-range::-webkit-slider-runnable-track{
  height:8px; border-radius:999px; background:#e9eee8;
}
.bid-range::-webkit-slider-thumb{
  margin-top:-6px; width:20px; height:20px; border-radius:50%;
  background:var(--venkov-primary); border:2px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,.18);
}
.bid-range::-moz-range-track{
  height:8px; border-radius:999px; background:#e9eee8;
}
.bid-range::-moz-range-thumb{
  width:20px; height:20px; border-radius:50%;
  background:var(--venkov-primary); border:2px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,.18);
}

.bid-error{
  display:none;
  background:#fee2e2;
  border:1px solid #fecaca;
  color:#991b1b;
  padding:.5rem .75rem;
  border-radius:10px;
  margin-bottom:.75rem;
  font-weight:600;
}
.bid-error.is-visible{ display:block; }

/* Responsive */
@media(max-width:1200px){
  .brand-logo{height:64px;width:160px;}
  .auction-info{font-size:24px;}
}
@media(max-width:992px){
  .brand-logo{height:56px;width:140px;}
  .auction-info{font-size:22px;}
  .card-img-top{height:220px;}
}
@media(max-width:768px){
  .brand-logo{height:48px;width:120px;}
  .auction-info{font-size:20px;}
  .page-head h1{font-size:1.4rem;}
  .page-head .lead{font-size:.9rem;}
  .dual-col{width:90vw;}
  .bid-input-lg{ --fs: 1.9rem; }
  .bid-stepper .btn-step{ width:46px; height:46px; }
}
@media(max-width:576px){
  .brand-logo{height:40px;width:100px;}
  .auction-info{font-size:18px;}
  .card-img-top{height:180px;}
  .page-head{margin:16px 0 4px;padding-bottom:8px;}
  .bid-input-lg{ --fs: 1.7rem; }
}
@media (max-width: 768px){
  .nav-actions{ gap:.35rem; }
  .user-chip{ display:none; }
}
