@font-face {
  font-family: "Cormorant Garamond";
  src: url("../fonts/cormorant-garamond-500.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("../fonts/cormorant-garamond-600.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("../fonts/cormorant-garamond-700.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/poppins-400.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/poppins-500.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/poppins-600.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

:root {
  --ovcica-shadow: 0 18px 45px rgba(75, 42, 31, 0.09);
  --ovcica-shadow-small: 0 10px 28px rgba(75, 42, 31, 0.07);
}

html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }

.wp-site-blocks { overflow: clip; }
.ovcica-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: color-mix(in srgb, #fdf8f4 94%, transparent);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid #eadbd4;
}
.admin-bar .ovcica-header { top: 32px; }
.ovcica-section { padding-block: clamp(4rem, 8vw, 7rem); }
.ovcica-section--tint { background: rgba(247, 222, 212, 0.34); }
.ovcica-hero { padding-block: clamp(4.5rem, 10vw, 8rem); }
.ovcica-hero h1 { font-size: clamp(2.7rem, 6.5vw, 5.25rem); max-width: 12ch; }
.ovcica-kicker { letter-spacing: .12em; text-transform: uppercase; font-size: .75rem; font-weight: 700; color: #b84c36; }
.ovcica-card {
  height: 100%;
  padding: clamp(1.4rem, 3vw, 2rem);
  background: #fffdfb;
  border: 1px solid #eadbd4;
  border-radius: 18px;
  box-shadow: var(--ovcica-shadow-small);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ovcica-card:hover { transform: translateY(-4px); box-shadow: var(--ovcica-shadow); border-color: #df6d52; }
.ovcica-card h3 { margin-top: 0; }
.ovcica-card a { text-decoration: none; }
.ovcica-number {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  margin-inline: auto;
  border-radius: 999px;
  color: white;
  background: #df6d52;
  font-family: Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
}
.ovcica-checks { list-style: none; padding-left: 0; }
.ovcica-checks li { position: relative; padding-left: 1.75rem; margin-block: .65rem; }
.ovcica-checks li::before { content: "✓"; position: absolute; left: 0; color: #b84c36; font-weight: 800; }
.ovcica-project-card .wp-block-post-featured-image img,
.ovcica-post-card .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; }
.ovcica-form label { display: block; font-weight: 600; margin-bottom: .45rem; }
.ovcica-form input,
.ovcica-form select,
.ovcica-form textarea {
  box-sizing: border-box;
  width: 100%;
  padding: .85rem 1rem;
  color: #2b1711;
  background: #fffdfb;
  border: 1px solid #d9c4bb;
  border-radius: 12px;
  font: inherit;
}
.ovcica-form textarea { min-height: 9rem; resize: vertical; }
.ovcica-form input:focus,
.ovcica-form select:focus,
.ovcica-form textarea:focus { outline: 3px solid rgba(223, 109, 82, .28); border-color: #b84c36; }
.ovcica-form__field { margin-bottom: 1.1rem; }
.ovcica-form__privacy { display: flex; align-items: flex-start; gap: .65rem; font-size: .85rem; }
.ovcica-form__privacy input { width: auto; margin-top: .35rem; }
.ovcica-form__status { padding: 1rem 1.2rem; margin-bottom: 1.25rem; border-radius: 12px; background: #f7ded4; }
.ovcica-form__status--error { border-left: 4px solid #a52b1e; }
.ovcica-form__status--success { border-left: 4px solid #35733f; }
.ovcica-form button {
  width: 100%;
  padding: .9rem 1.5rem;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #df6d52;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.ovcica-form button:hover { background: #b84c36; }
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid #b84c36; outline-offset: 3px; }
.screen-reader-text:focus { clip: auto !important; clip-path: none; width: auto; height: auto; padding: .75rem 1rem; top: .5rem; left: .5rem; z-index: 1000; background: white; color: #2b1711; }

@media (max-width: 782px) {
  .admin-bar .ovcica-header { top: 46px; }
  .ovcica-hero { text-align: center; }
  .ovcica-hero h1 { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
