/* PurelyPlots — earth/land theme extensions beyond Tailwind CDN */
:root {
  --pp-forest: #2F4A3C;
  --pp-sage: #8B9E7E;
  --pp-sage-light: #A8B89A;
  --pp-soil: #6B5A4A;
  --pp-stone: #C4B5A0;
  --pp-warm: #C4A574;
  --pp-cream: #F5F0E8;
  --pp-ink: #1A2420;
}

html { scroll-behavior: smooth; }

body {
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  color: var(--pp-ink);
  background: var(--pp-cream);
}

.focus-ring:focus-visible {
  outline: 2px solid var(--pp-forest);
  outline-offset: 2px;
}

.pp-gradient-hero {
  background:
    linear-gradient(135deg, rgba(47,74,60,0.88) 0%, rgba(107,90,74,0.78) 50%, rgba(36,58,47,0.72) 100%),
    url("hero-vacant-ranch.jpg") center / cover no-repeat;
  background-color: #2F4A3C;
}

.pp-land-strip {
  position: relative;
  overflow: hidden;
}
.pp-land-strip img {
  width: 100%;
  height: 12rem;
  object-fit: cover;
  display: block;
}
@media (min-width: 640px) {
  .pp-land-strip img { height: 16rem; }
}
@media (min-width: 768px) {
  .pp-land-strip img { height: 20rem; }
}

.pp-card {
  background: #fff;
  border: 1px solid #e5ddd0;
  border-radius: 1rem;
  box-shadow: 0 4px 20px rgba(47, 74, 60, 0.06);
}

.pp-btn-primary {
  background: var(--pp-forest);
  color: #fff;
  transition: background 0.2s, transform 0.15s;
}
.pp-btn-primary:hover { background: #243a2f; }
.pp-btn-primary:active { transform: scale(0.98); }
.pp-btn-primary:disabled,
.pp-btn-primary[aria-busy="true"] {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}

.pp-btn-secondary {
  background: transparent;
  color: var(--pp-forest);
  border: 2px solid var(--pp-forest);
  transition: background 0.2s, color 0.2s;
}
.pp-btn-secondary:hover {
  background: var(--pp-forest);
  color: #fff;
}

.pp-btn-accent {
  background: var(--pp-warm);
  color: var(--pp-ink);
  transition: background 0.2s;
}
.pp-btn-accent:hover { background: #b8945f; }

/* Mobile nav */
#mobile-menu:not(.hidden) { display: block; }

.disclaimer-box {
  background: #faf6f0;
  border-left: 4px solid var(--pp-warm);
}

/* Honeypot: hide from humans, leave in DOM for bots */
.pp-hp {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

input:invalid:not(:placeholder-shown),
select:invalid:not(:placeholder-shown) {
  border-color: #b45309;
}

.pp-badge {
  display: inline-block;
  background: var(--pp-warm);
  color: var(--pp-ink);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 0.2rem 0.55rem;
  line-height: 1.2;
  white-space: nowrap;
}

.pp-cookie {
  position: fixed;
  z-index: 60;
  left: 0.75rem;
  right: 0.75rem;
  bottom: 0.75rem;
  max-width: 42rem;
  margin: 0 auto;
  background: #fff;
  color: var(--pp-ink);
  border: 1px solid #e5ddd0;
  border-radius: 0.75rem;
  box-shadow: 0 8px 28px rgba(26, 36, 32, 0.16);
  padding: 0.85rem 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  font-size: 0.875rem;
  line-height: 1.45;
}

.pp-cookie p { margin: 0; flex: 1 1 16rem; }

body.pp-has-cookie { padding-bottom: 8rem; }

.pp-draft {
  background: #fff;
  border: 1px solid var(--pp-warm);
  border-radius: 0.75rem;
  padding: 0.85rem 1rem;
  color: var(--pp-ink);
}
