:root {
  --iw-ivory: #f7f3e8;
  --iw-willow: #6f7350;
  --iw-wood: #6b4a36;
  --iw-ink: #25251f;
}
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
section[id] { scroll-margin-top: 88px; }
img { max-width: 100%; height: auto; }
.skip-link {
  position: fixed; top: .5rem; left: .5rem; z-index: 10000;
  transform: translateY(-150%); background: #fff; color: #111;
  padding: .75rem 1rem; border-radius: .35rem; box-shadow: 0 4px 18px rgba(0,0,0,.18);
}
.skip-link:focus { transform: translateY(0); }
.section-intro { max-width: 820px; margin: 1rem auto 0; line-height: 1.65; }
.navbar-logo img { object-fit: cover; border-radius: 50%; }
.navbar-caption { white-space: nowrap; }
#izdelava .row { min-height: 72vh; align-items: center; }
#izdelava .content-wrap { padding: 4rem 1.5rem; }
.faq-arrow { display: inline-flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; }
.faq-arrow::before { content: "⌄"; font-size: 1.7rem; line-height: 1; transition: transform .2s ease; }
.panel-title:not(.collapsed) .faq-arrow::before { transform: rotate(180deg); }
.form-control:focus { box-shadow: 0 0 0 .2rem rgba(111,115,80,.2); }
.local-location-panel { position: relative; min-height: 520px; overflow: hidden; background: var(--iw-ivory); }
.location-picture {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(22,22,18,.2), rgba(22,22,18,.05)),
              url("../../images/photo-1513694203232-719a280e022f.jpeg") center / cover no-repeat;
}
.location-card {
  position: absolute; right: clamp(1rem, 6vw, 6rem); top: 50%; transform: translateY(-50%);
  width: min(420px, calc(100% - 2rem)); padding: 2rem; background: rgba(255,255,255,.94);
  border-radius: .75rem; box-shadow: 0 18px 50px rgba(0,0,0,.18);
}
.location-card h3 { margin-top: 0; color: var(--iw-ink); }
.footer-legal-information { border-top: 1px solid rgba(255,255,255,.2); margin-top: 1.5rem; padding-top: 1.5rem; }
.footer-legal-title { color: #fff; font-size: 1rem; margin-bottom: .8rem; }
.footer-company-details { color: rgba(255,255,255,.86); font-style: normal; display: grid; gap: .35rem; font-size: .92rem; line-height: 1.45; }
.footer-company-details span { display: block; }
.row-links-soc { flex-wrap: wrap; justify-content: center; gap: .3rem 1rem; }
.alert[hidden] { display: none !important; }
.alert:not([hidden]) { display: block !important; }
.visually-hidden {
  position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important;
  margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important;
  white-space: nowrap !important; border: 0 !important;
}
.legal-page { background: #fbfaf6; color: #2b2a25; }
.legal-hero { padding: 9rem 0 3rem; background: linear-gradient(135deg, #f5f0e2, #e4e5d2); }
.legal-content { padding: 3rem 0 5rem; }
.legal-content article { max-width: 900px; margin: 0 auto; background: #fff; padding: clamp(1.25rem, 4vw, 3rem); border-radius: .8rem; box-shadow: 0 12px 35px rgba(39,39,31,.08); }
.legal-content h2 { margin-top: 2rem; font-size: 1.55rem; }
.legal-content h3 { margin-top: 1.4rem; font-size: 1.2rem; }
.legal-content p, .legal-content li { line-height: 1.72; }
.legal-content a { color: #59603c; text-decoration: underline; }
.legal-meta { color: #65645f; }
.legal-footer { background: #24251f; color: #fff; padding: 2.5rem 0; }
.legal-footer a { color: #fff; }
@media (max-width: 991.98px) {
  .navbar-toggler { display: block !important; visibility: visible !important; opacity: 1 !important; z-index: 1002; }
  .navbar-collapse { background: #fff; padding: 1rem; border-radius: 0 0 .75rem .75rem; box-shadow: 0 12px 28px rgba(0,0,0,.12); max-height: calc(100vh - 82px); overflow-y: auto; }
  .navbar-collapse.show { display: block !important; }
  .navbar-nav { width: 100%; }
  .navbar-buttons { padding-top: .75rem; }
  .local-location-panel { min-height: 560px; }
  .location-card { left: 1rem; right: 1rem; bottom: 1rem; top: auto; transform: none; width: auto; }
}
@media (max-width: 575.98px) {
  .navbar-caption { font-size: 1rem !important; }
  .navbar-logo img { height: 3.4rem !important; }
  #izdelava .row { min-height: 62vh; }
  .footer-company-details { font-size: .86rem; }
  .legal-hero { padding-top: 7.5rem; }
}
