html { scroll-behavior: smooth; }
body { font-family: 'Source Sans 3', sans-serif; background-color: #faf6ed; color: #2d2416; }
    .hero-bg {
      background-image: linear-gradient(to bottom, rgba(20,35,8,0.55) 0%, rgba(20,35,8,0.3) 60%, rgba(250,246,237,1) 100%), url('/foto/obsah/3.jpg');
      background-size: cover;
      background-position: center 40%;
    }
    .nav-link { position: relative; }
    .nav-link::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 2px; background: #c9a227; transition: width 0.3s ease; }
    .nav-link:hover::after { width: 100%; }
    .product-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
    .product-card:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(58,90,30,0.15); }
    .fade-in { opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease, transform 0.7s ease; }
    .fade-in.visible { opacity: 1; transform: translateY(0); }
    .wheat-divider { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cpath d='M0 10 Q25 2 50 10 Q75 18 100 10' stroke='%23c9a227' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") center/contain no-repeat; height: 20px; }
    

@media (max-width: 768px) {
  .hero-bg {
    background-image: linear-gradient(to bottom, rgba(20,35,8,0.55) 0%, rgba(20,35,8,0.3) 60%, rgba(250,246,237,1) 100%), url('/foto/obsah/3_mobile.jpg');
  }
}



input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=submit]):not([type=button]):not([type=reset]),
select,
textarea {
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
  font-family: inherit;
  color: #111827;
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=submit]):not([type=button]):not([type=reset]):hover,
select:hover,
textarea:hover {
  border-color: #9ca3af;
}

input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=submit]):not([type=button]):not([type=reset]):focus,
select:focus,
textarea:focus {
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

input:disabled,
select:disabled,
textarea:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background: #f9fafb;
}

input::placeholder,
textarea::placeholder {
  color: #9ca3af;
}

select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.625rem center;
  padding-right: 2rem;
}

/* === TEXTAREA === */
textarea {
  resize: vertical;
  min-height: 80px;
}

/* === RANGE === */
input[type=range] {
  width: 100%;
  height: 6px;
  padding: 0;
  border: none;
  border-radius: 9999px;
  background: #e5e7eb;
  cursor: pointer;
  box-shadow: none;
  accent-color: #6366f1;
}

input[type=range]:focus {
  box-shadow: none;
}

/* === COLOR === */
input[type=color] {
  width: 44px;
  height: 36px;
  padding: 3px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  cursor: pointer;
  background: #ffffff;
}

input[type=color]:hover {
  border-color: #9ca3af;
}

/* === CHECKBOX & RADIO === */
input[type=checkbox],
input[type=radio] {
  width: 1rem;
  height: 1rem;
  cursor: pointer;
  accent-color: #6366f1;
  border: 1px solid #d1d5db;
  flex-shrink: 0;
  margin: 2px;
}

input[type=radio] {
  border-radius: 50%;
}

/* === BUTTONS === */
input[type=submit],
input[type=button],
input[type=reset],
button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  border-radius: 6px;
  border: 1px solid;
  cursor: pointer;
  transition: all 0.15s;
  font-family: inherit;
  outline: none;
}

input[type=submit] {
  background: #6366f1;
  color: #ffffff;
  border-color: #6366f1;
}

input[type=submit]:hover {
  background: #4f46e5;
  border-color: #4f46e5;
}

input[type=button],
input[type=reset] {
  background: #ffffff;
  color: #111827;
  border-color: #d1d5db;
}

input[type=button]:hover,
input[type=reset]:hover {
  background: #f9fafb;
}

/* === ERROR STATE === */
.input-error {
  border-color: #ef4444 !important;
}

.input-error:focus {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
}

#form-registrace { margin:auto; max-width:420px; }
#form-email { width:100%; }
.form-check { margin-left:10px; margin-top:10px; margin-top:0px; }
.form-check input { margin-right:10px; }
