:root {
  --ls-forest: #174f3b;
  --ls-forest-dark: #10392b;
  --ls-gold: #d79b24;
  --ls-cream: #fbf7ef;
  --ls-ink: #172335;
  --ls-muted: #5e6875;
  --ls-border: #e7ddcf;
  --ls-radius: 16px;
  --ls-shadow: 0 12px 35px rgba(23, 35, 53, .09);
}

html { scroll-behavior: smooth; }
body { color: var(--ls-ink); font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
h1, h2, h3, h4, h5, h6 { color: var(--ls-ink); letter-spacing: -.02em; }
a { text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--ls-gold); outline-offset: 3px; }

.site-header { box-shadow: 0 2px 18px rgba(16, 57, 43, .08); }
.main-header-menu > .menu-item > .menu-link { font-weight: 650; }
.site-footer { background: var(--ls-forest-dark); color: #eef8f3; }
.site-footer, .site-footer p, .site-footer li, .site-footer .widget-title, .site-footer h2, .site-footer h3 { color: #eef8f3 !important; }
.site-footer a { color: #fff !important; }
.site-footer a:hover { color: #f2c45d !important; }

.elementor-button, .wp-element-button, .button, button, input[type="submit"] { min-height: 44px; border-radius: 999px !important; font-weight: 700; }
.elementor-button { transition: transform .18s ease, box-shadow .18s ease; }
.elementor-button:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(16, 57, 43, .18); }
.elementor-widget-image-box .elementor-image-box-wrapper, .elementor-widget-icon-box .elementor-icon-box-wrapper { border-radius: var(--ls-radius); }

.laikipia-home-section { padding: clamp(56px, 8vw, 96px) max(24px, calc((100vw - 1200px) / 2)); }
.laikipia-home-section:nth-of-type(even) { background: var(--ls-cream); }
.laikipia-section-heading { max-width: 680px; margin: 0 auto 34px; text-align: center; }
.laikipia-section-heading h2 { margin: 4px 0 10px; font-size: clamp(2rem, 4vw, 3rem); }
.laikipia-home-section .laikipia-section-heading h2 { color: var(--ls-ink) !important; }
.laikipia-section-heading > p:last-child { color: var(--ls-muted); font-size: 1.08rem; }
.laikipia-eyebrow { margin: 0; color: var(--ls-forest); font-size: .8rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.laikipia-preview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.laikipia-preview-card { overflow: hidden; border: 1px solid var(--ls-border); border-radius: var(--ls-radius); background: #fff; box-shadow: var(--ls-shadow); }
.laikipia-preview-card img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.laikipia-home-products .laikipia-preview-card img { aspect-ratio: 1; object-fit: contain; padding: 14px; background: #fff; }
.laikipia-preview-card__body { padding: 24px; }
.laikipia-preview-card h3 { margin: 6px 0 10px; color: var(--ls-ink) !important; font-size: 1.3rem; line-height: 1.3; }
.laikipia-preview-card h3 a { color: var(--ls-ink) !important; }
.laikipia-preview-card__body > p:not(.laikipia-card-meta):not(.laikipia-product-price) { color: var(--ls-muted) !important; }
.laikipia-card-meta { color: var(--ls-gold); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.laikipia-text-link { color: var(--ls-forest); font-weight: 800; }
.laikipia-product-price { color: var(--ls-forest); font-size: 1.1rem; font-weight: 800; }
.laikipia-section-action { margin: 34px 0 0; text-align: center; }
.laikipia-home-articles .laikipia-preview-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 380px)); justify-content: center; }
.laikipia-primary-cta { display: inline-flex; min-height: 46px; align-items: center; padding: 11px 24px; border-radius: 999px; color: #fff; background: var(--ls-forest); font-weight: 800; }
.laikipia-primary-cta:hover { color: #fff; background: var(--ls-forest-dark); }
.laikipia-secondary-cta { display: inline-flex; min-height: 46px; align-items: center; padding: 10px 22px; border: 2px solid var(--ls-forest); border-radius: 999px; color: var(--ls-forest); font-weight: 800; }
.laikipia-secondary-cta:hover { color: #fff; background: var(--ls-forest); }
.laikipia-donation-panel { max-width: 900px; margin: 60px auto; padding: clamp(28px, 5vw, 52px); border: 1px solid var(--ls-border); border-radius: var(--ls-radius); background: var(--ls-cream); box-shadow: var(--ls-shadow); }
.laikipia-donation-panel h2 { margin: 5px 0 14px; font-size: clamp(1.8rem, 4vw, 2.7rem); }
.laikipia-donation-panel h2, .laikipia-contact-form h2 { color: var(--ls-ink) !important; }
.laikipia-donation-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.laikipia-donation-note { margin-bottom: 0; color: var(--ls-muted); font-size: .9rem; }
.laikipia-contact-form { max-width: 900px; margin: 60px auto; padding: clamp(28px, 5vw, 52px); border: 1px solid var(--ls-border); border-radius: var(--ls-radius); background: #fff; box-shadow: var(--ls-shadow); }
.laikipia-contact-form h2 { margin: 5px 0 22px; font-size: clamp(1.8rem, 4vw, 2.7rem); }
.laikipia-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.laikipia-contact-form label { display: block; margin-bottom: 7px; color: var(--ls-ink); font-weight: 700; }
.laikipia-contact-form input, .laikipia-contact-form textarea { width: 100%; border: 1px solid #b9c1c8; border-radius: 8px; background: #fff; }
.laikipia-contact-form textarea { min-height: 150px; padding: 12px 16px; }
.laikipia-form-notice { margin-bottom: 20px; padding: 14px 16px; border-radius: 8px; font-weight: 700; }
.laikipia-form-notice.is-success { color: #155d38; background: #e5f6ed; }
.laikipia-form-notice.is-error { color: #8a2d22; background: #fbe9e7; }
.laikipia-honeypot { position: absolute !important; left: -9999px !important; }

.woocommerce ul.products li.product { overflow: hidden; padding-bottom: 20px; border: 1px solid var(--ls-border); border-radius: var(--ls-radius); background: #fff; box-shadow: var(--ls-shadow); }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .price, .woocommerce ul.products li.product .button { margin-inline: 20px; }
.woocommerce ul.products li.product .price { color: var(--ls-forest) !important; }
.woocommerce ul.products li.product .ast-woo-product-category { color: var(--ls-muted) !important; }
.woocommerce ul.products li.product .star-rating:has(span[style*="width:0%"]) { display: none; }
.woocommerce ul.products li.product img { aspect-ratio: 1; object-fit: contain; background: #fff; }
.single-product div.product .woocommerce-product-gallery { overflow: hidden; border-radius: var(--ls-radius); }
.single-product .woocommerce-breadcrumb, .single-product .woocommerce-breadcrumb a, .single-product div.product .product_meta, .single-product div.product .product_meta a { color: #aeb8c5 !important; }
.single-product div.product .product_title, .single-product .related > h2, .single-product .woocommerce-tabs h2 { color: #fff !important; }
.single-product div.product .summary, .single-product div.product .summary p, .single-product .woocommerce-tabs, .single-product .woocommerce-tabs p, .single-product #reviews, .single-product #reviews label { color: #d8e0e8; }
.single-product div.product .summary .price { color: #fff !important; }
.single-product .laikipia-product-guidance, .single-product .laikipia-product-guidance strong { color: var(--ls-muted); }
.laikipia-product-guidance { margin: 22px 0; padding: 16px 18px; border-left: 4px solid var(--ls-gold); border-radius: 8px; background: var(--ls-cream); color: var(--ls-muted); font-size: .92rem; }
.woocommerce-shop .woocommerce-products-header__title, .woocommerce-shop .page-title { color: #fff !important; }
.woocommerce-shop .woocommerce-breadcrumb, .woocommerce-shop .woocommerce-breadcrumb a, .woocommerce-shop .woocommerce-result-count { color: #cbd5df !important; }
.woocommerce-shop .woocommerce-ordering select { color: #eef8f3; border-color: #758397; background-color: #172335; }
.page-id-355 .elementor-accordion .elementor-tab-title { color: var(--ls-ink) !important; }
.page-id-355 .elementor-accordion .elementor-tab-content { color: #d8e0e8; }

@media (max-width: 900px) { .laikipia-preview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .laikipia-preview-grid, .laikipia-form-grid { grid-template-columns: 1fr; } .laikipia-home-section { padding-inline: 20px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
