/*
Theme Name: Olivar Farm
Template: twentytwentyfive
Description: Child theme for the Olivar Farm demo, rebuilt from the 2022 olivar.co.za home page.
Version: 0.1.0
Text Domain: olivar
*/

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
:where(.oli-section, .oli-hero) { scroll-margin-top: 72px; }
.oli-main { margin-top: 0 !important; }
.oli-main + *, .wp-site-blocks > footer, .wp-site-blocks > .wp-block-template-part:last-child { margin-block-start: 0 !important; }
.oli-card p, .oli-section p { font-weight: 400; }
.oli-main > .wp-block-post-content > * { margin-block-start: 0; }

/* ---- Header ---- */
.oli-header-wrap { position: sticky; top: 0; z-index: 50; }
.oli-header { background: rgba(250, 247, 239, .86); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid rgba(20, 40, 26, .08); padding: .7rem var(--wp--style--root--padding-right, 1rem) .7rem var(--wp--style--root--padding-left, 1rem); }
.admin-bar .oli-header-wrap { top: 32px; }
.oli-brand { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--wp--preset--color--accent-6); }
.oli-brand:hover { color: var(--wp--preset--color--accent-1); }
.oli-brand-name { font-family: var(--wp--preset--font-family--fraunces); font-size: 1.35rem; font-weight: 600; letter-spacing: -.01em; }
.oli-mark { width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; background:
	radial-gradient(circle at 50% 38%, var(--wp--preset--color--accent-2) 0 26%, transparent 27%),
	linear-gradient(to top, var(--wp--preset--color--accent-1) 0 42%, var(--wp--preset--color--accent-3) 42% 58%, var(--wp--preset--color--accent-5) 58%); box-shadow: inset 0 0 0 1px rgba(20,40,26,.12); }
.oli-nav { font-weight: 600; font-size: .98rem; }
.oli-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--accent-6); padding: .35rem .2rem; }
.oli-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent-2); }
.oli-nav.wp-block-navigation { gap: 1.6rem; }

/* ---- Hero: no surviving photo, so a drawn sunset over the pivots and hills ---- */
.oli-hero {
	position: relative; overflow: hidden; color: var(--wp--preset--color--base);
	padding: clamp(6rem, 14vw, 10rem) var(--wp--style--root--padding-right, 1.25rem) clamp(11rem, 22vw, 16rem);
	background:
		radial-gradient(60rem 30rem at 72% 92%, rgba(239, 160, 66, .55), transparent 60%),
		radial-gradient(40rem 18rem at 70% 100%, rgba(255, 207, 120, .45), transparent 70%),
		linear-gradient(180deg, #14281A 0%, #1f3b27 45%, #3a5a33 78%, #7a6a37 100%);
	text-align: center;
}
.oli-hero::after { content: ""; position: absolute; inset: auto 0 0 0; height: clamp(110px, 18vw, 220px); pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 220' preserveAspectRatio='none'%3E%3Cpath d='M0 120 C 220 60 420 70 640 110 S 1080 170 1440 90 L1440 220 L0 220Z' fill='%238FAE6A' fill-opacity='.55'/%3E%3Cpath d='M0 160 C 260 110 520 120 760 150 S 1180 200 1440 140 L1440 220 L0 220Z' fill='%232F5D3A'/%3E%3Cpath d='M0 196 C 300 176 640 180 940 196 S 1300 214 1440 200 L1440 220 L0 220Z' fill='%23FAF7EF'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat; }
.oli-hero > * { position: relative; z-index: 1; }
.oli-hero h1 { color: #fff; font-weight: 400; margin-block: .4rem 1rem; text-wrap: balance; }
.oli-hero .oli-kicker { color: #F4C47A; }
.oli-tagline { font-family: var(--wp--preset--font-family--fraunces); font-style: italic; font-size: clamp(1.25rem, 2.4vw, 1.6rem); color: rgba(250, 247, 239, .88); margin-bottom: 2rem; }
.oli-hero .wp-block-buttons { justify-content: center; }
.oli-hero .wp-block-button__link { box-shadow: 0 10px 30px rgba(217, 119, 26, .35); }
.oli-hero .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--accent-6); }

/* ---- Sections ---- */
.oli-section { padding: clamp(4rem, 9vw, 7rem) var(--wp--style--root--padding-right, 1.25rem); }
.oli-kicker { text-transform: uppercase; letter-spacing: .18em; font-size: .8rem; font-weight: 800; color: var(--wp--preset--color--accent-2); margin-bottom: .25rem !important; }
.oli-section h2 { margin-top: 0; text-wrap: balance; }
.oli-lead { font-family: var(--wp--preset--font-family--fraunces); font-weight: 300; font-size: clamp(1.35rem, 2.5vw, 1.8rem); line-height: 1.5; color: var(--wp--preset--color--accent-6); }
.oli-lead-sm { font-size: 1.2rem; color: var(--wp--preset--color--accent-4); }
.oli-welcome { text-align: center; }

.oli-farm { background: var(--wp--preset--color--accent-5); }
.oli-section-title { text-align: center; margin-bottom: 2.5rem !important; }
.oli-card { background: #fff; border-radius: 22px; padding: clamp(1.6rem, 3.5vw, 2.75rem); box-shadow: 0 1px 2px rgba(20,40,26,.06), 0 12px 32px rgba(20,40,26,.07); }
.oli-card h3 { margin-top: 0; display: flex; align-items: center; gap: .75rem; }
.oli-card h3::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--wp--preset--color--accent-2); box-shadow: 0 0 0 6px rgba(217, 119, 26, .14); flex: 0 0 10px; }
.oli-card p { margin-bottom: 0; }
.oli-path { margin-bottom: 1.5rem; }
.oli-columns { columns: 2 22rem; column-gap: 3rem; }
.oli-pair { gap: 1.5rem !important; margin-bottom: 0; }
.oli-pair > .oli-card { flex-basis: 0; }

.oli-video { text-align: center; background: var(--wp--preset--color--base); }
.oli-video .oli-lead-sm { max-width: 720px; margin-inline: auto; }
.oli-player { position: relative; aspect-ratio: 16 / 9; margin-top: 2.5rem; border-radius: 20px; overflow: hidden; background: #0d1a11; box-shadow: 0 30px 60px rgba(20,40,26,.25); }
.oli-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.oli-contact { background: var(--wp--preset--color--accent-6); color: var(--wp--preset--color--base); }
.oli-contact h2 { color: #fff; }
.oli-contact .oli-kicker { color: #F4C47A; }
.oli-contact .oli-lead-sm { color: rgba(250, 247, 239, .8); }

/* ---- Form ---- */
.oli-form { margin-top: 2rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem 1.25rem; }
.oli-form .oli-field { margin: 0; }
.oli-form .oli-field.wide, .oli-form .oli-actions, .oli-form .oli-error { grid-column: 1 / -1; }
.oli-form label { display: block; font-weight: 700; font-size: .9rem; margin-bottom: .35rem; color: rgba(250, 247, 239, .9); }
.oli-form input, .oli-form textarea { width: 100%; box-sizing: border-box; padding: .85rem 1rem; border: 1px solid rgba(250, 247, 239, .18); border-radius: 12px; font: inherit; color: #fff; background: rgba(255, 255, 255, .07); transition: border-color .15s, background .15s; }
.oli-form input:focus, .oli-form textarea:focus { outline: none; border-color: #F4C47A; background: rgba(255, 255, 255, .11); }
.oli-form .oli-actions { margin: .5rem 0 0; }
.oli-hp { position: absolute; left: -9999px; }
.oli-notice { margin-top: 2rem; padding: 1.25rem 1.5rem; border-radius: 14px; background: rgba(143, 174, 106, .18); border: 1px solid rgba(143, 174, 106, .45); }
.oli-notice p { margin: 0; }
.oli-error { color: #FFB4A2; font-weight: 700; margin: 0; }

/* ---- Footer ---- */
.oli-footer { background: #0e1c12; color: rgba(250, 247, 239, .7); padding: 2rem var(--wp--style--root--padding-right, 1.25rem); font-size: .92rem; }
.oli-footer .oli-brand { color: #fff; }
.oli-footer .oli-brand-name { font-size: 1.15rem; }
.oli-footer .oli-copyright { margin: 0; }

@media (max-width: 781px) {
	.oli-form { grid-template-columns: 1fr; }
	.oli-columns { columns: 1; }
}
@media (max-width: 600px) {
	.oli-hero { text-align: left; }
	.oli-hero .wp-block-buttons { justify-content: flex-start; }
	.oli-welcome { text-align: left; }
	.oli-section-title { text-align: left; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
