/* Slow Food Zemgale — shared stylesheet for all language versions.
   Layout-level rules live here; one-off positioning stays inline in the HTML. */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #F5F2EC; color: #0D3D2E; font-family: Karla, Verdana, sans-serif; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: #0D3D2E; text-decoration: none; transition: color 200ms cubic-bezier(0.2,0,0,1), background 200ms cubic-bezier(0.2,0,0,1), border-color 200ms cubic-bezier(0.2,0,0,1); }
a:hover { color: #A8542E; }
::selection { background: #C8D8B0; color: #0D3D2E; }
:focus-visible { outline: 2px solid #A8542E; outline-offset: 3px; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }

.pad { padding-left: clamp(20px,5vw,72px); padding-right: clamp(20px,5vw,72px); }
.eyebrow { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: #8A7F6A; }
h2.eyebrow { margin: 0; }
.serif { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 400; }
.btn-solid { padding: 14px 26px; border-radius: 20px; background: #0D3D2E; color: #F5F2EC; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; }
.btn-solid:hover { background: #0A3325; color: #F5F2EC; }
.btn-ghost { padding: 14px 26px; border-radius: 20px; border: 1px solid #0D3D2E; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; }
.btn-ghost:hover { background: #E7E3D8; color: #0D3D2E; }
.frame { position: relative; border-radius: 12px; overflow: hidden; background: #E2DED2; }
.sect { scroll-margin-top: 76px; padding-top: clamp(44px,6vw,92px); padding-bottom: clamp(44px,6vw,92px); }
.contact-link { display: inline-flex; align-items: center; gap: 12px; font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(22px,2.4vw,30px); color: #F5F2EC; border-bottom: 1px solid rgba(245,242,236,0.3); padding-bottom: 6px; width: max-content; max-width: 100%; word-break: break-word; }
.contact-link:hover { color: #E4B48F; border-bottom-color: #E4B48F; }
.contact-label { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #9FB6A6; }
.stagger { margin-top: clamp(0px,4vw,48px); }

/* Language switch — current language is plain text, the other is a link. */
.lang { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; }
.lang-on { color: #0D3D2E; border-bottom: 1px solid #A8542E; padding-bottom: 2px; }
.lang a { color: #8A7F6A; padding-bottom: 2px; border-bottom: 1px solid transparent; }
.lang a:hover { color: #A8542E; border-bottom-color: #A8542E; }
.lang-sep { color: #C6C2B4; font-weight: 400; }

/* Visible only to screen readers, until focused (used by the skip link). */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip:focus { position: fixed; top: 10px; left: 10px; z-index: 50; width: auto; height: auto; clip: auto; margin: 0; padding: 12px 20px; border-radius: 20px; background: #0D3D2E; color: #F5F2EC; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; }

@keyframes sfRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { animation: none !important; } }
