/* Nagging Nette unified app visual system
   Mirrors the farm website's deep-green / gold / warm-white brand language
   while preserving each screen's existing functional layout. */
:root{
  --nn-forest-950:#061a12;
  --nn-forest-900:#062b1d;
  --nn-forest-800:#0d3b28;
  --nn-forest-700:#174c32;
  --nn-forest-600:#236242;
  --nn-gold-500:#e5b83d;
  --nn-gold-400:#f0cb62;
  --nn-gold-100:#fbf2d6;
  --nn-paper:#f7f7f2;
  --nn-white:#ffffff;
  --nn-ink:#142019;
  --nn-muted:#5d6861;
  --nn-line:#dce3dc;
  --nn-soft:#eef1eb;
  --nn-danger:#873d34;
  --nn-shadow:0 10px 34px rgba(8,45,30,.09);
  --nn-shadow-strong:0 22px 60px rgba(0,0,0,.22);
  --nn-radius:18px;
  --nn-radius-small:10px;
}
html{background:var(--nn-paper)}
body.nn-theme{
  --gold:var(--nn-gold-500);
  --green:var(--nn-forest-700);
  --green2:var(--nn-forest-600);
  --panel:#ffffff;
  --panel2:#f5f7f2;
  --line:var(--nn-line);
  --muted:var(--nn-muted);
  color:var(--nn-ink)!important;
  background:
    radial-gradient(circle at 90% 0,rgba(229,184,61,.12),transparent 28rem),
    linear-gradient(180deg,#fbfcf8 0,var(--nn-paper) 70%)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  -webkit-font-smoothing:antialiased;
}
body.nn-theme a{color:var(--nn-forest-700)}
body.nn-theme h1,body.nn-theme h2,body.nn-theme h3{
  color:var(--nn-ink);
  letter-spacing:-.025em;
}
body.nn-theme h1{font-weight:900;line-height:1.02}
body.nn-theme h2{font-weight:850}
body.nn-theme p{line-height:1.62}
body.nn-theme header{
  position:relative;
  background:linear-gradient(135deg,var(--nn-forest-950),var(--nn-forest-900) 65%,#0c3b28)!important;
  color:#fff!important;
  border-bottom:3px solid var(--nn-gold-500)!important;
  box-shadow:0 10px 30px rgba(3,25,16,.12);
}
body.nn-theme header h1,body.nn-theme header h2,body.nn-theme header h3{color:#fff!important}
body.nn-theme header p,body.nn-theme header small{color:#cbd6cf!important}
body.nn-theme header a{color:#f4f6f2!important;text-decoration:none}
body.nn-theme header nav a{
  border-radius:999px;
  padding:7px 10px;
  font-weight:700;
  transition:background .18s ease,color .18s ease;
}
body.nn-theme header nav a:hover{background:rgba(255,255,255,.1);color:#fff!important}
body.nn-theme .brand,body.nn-theme .nn-brand-link{
  color:#fff!important;
  font-weight:950;
  letter-spacing:.035em;
}
.nn-brand-link{
  display:flex;
  align-items:center;
  gap:10px;
  width:max-content;
  margin:0 0 14px;
  text-decoration:none;
  font-size:14px;
  text-transform:uppercase;
}
.nn-brand-link img{
  width:38px;height:38px;object-fit:cover;border-radius:50%;
  border:2px solid var(--nn-gold-500);box-shadow:0 5px 16px rgba(0,0,0,.22)
}
.nn-brand-link span small{display:block;color:var(--nn-gold-400)!important;font-size:9px;letter-spacing:.12em}
body.nn-theme .eyebrow,body.nn-theme .category,body.nn-theme .facet-label{
  color:#9a7416!important;
  font-weight:900!important;
  text-transform:uppercase;
  letter-spacing:.09em;
}
body.nn-theme header .eyebrow{color:var(--nn-gold-400)!important}
body.nn-theme .card,
body.nn-theme details.card,
body.nn-theme .plan,
body.nn-theme .mathcard,
body.nn-theme .addon,
body.nn-theme .seller-shell,
body.nn-theme .storybox,
body.nn-theme .credentials,
body.nn-theme .reviewbox,
body.nn-theme .product,
body.nn-theme .seller-card{
  background:rgba(255,255,255,.96)!important;
  color:var(--nn-ink)!important;
  border:1px solid var(--nn-line)!important;
  border-radius:var(--nn-radius)!important;
  box-shadow:var(--nn-shadow)!important;
}
body.nn-theme .card p,
body.nn-theme .card small,
body.nn-theme .desc,
body.nn-theme .summary,
body.nn-theme .meta,
body.nn-theme .fine,
body.nn-theme .muted,
body.nn-theme .fulfillment,
body.nn-theme .lead{
  color:var(--nn-muted)!important;
}
body.nn-theme .hero:not(.nn-dark-hero){
  color:var(--nn-ink);
}
body.nn-theme .hero h1{font-weight:950}
body.nn-theme .top{
  background:var(--nn-forest-900)!important;
  border-bottom:3px solid var(--nn-gold-500)!important;
}
body.nn-theme .top a{color:#fff!important}
body.nn-theme .contact{
  background:linear-gradient(135deg,var(--nn-forest-950),var(--nn-forest-800))!important;
  border:1px solid #8c742f!important;
  color:#fff!important;
  box-shadow:var(--nn-shadow)!important;
}
body.nn-theme .contact h2,body.nn-theme .contact p{color:#fff!important}
body.nn-theme .contact a{color:var(--nn-gold-400)!important}
body.nn-theme .notice{
  border:1px solid #d9c77c!important;
  background:#fff9e7!important;
  color:#594a18!important;
  border-radius:14px!important;
}
body.nn-theme .good{border-color:#b9d6c2!important;background:#f3fbf5!important}
body.nn-theme input,
body.nn-theme select,
body.nn-theme textarea{
  background:#fff!important;
  color:var(--nn-ink)!important;
  border:1px solid #aebbb1!important;
  border-radius:10px!important;
  box-shadow:inset 0 1px 2px rgba(9,38,25,.03);
}
body.nn-theme input:focus,
body.nn-theme select:focus,
body.nn-theme textarea:focus{
  border-color:var(--nn-forest-600)!important;
  box-shadow:0 0 0 3px rgba(35,98,66,.14)!important;
  outline:none!important;
}
body.nn-theme button,
body.nn-theme .btn,
body.nn-theme .action,
body.nn-theme .cta a{
  border-radius:10px!important;
  font-weight:850!important;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
body.nn-theme button:not(.danger):not(.hold):not(.secondary):not(.report-review),
body.nn-theme .btn.primary,
body.nn-theme .btn.gold,
body.nn-theme .action{
  background:var(--nn-gold-500)!important;
  color:#10160f!important;
  border-color:var(--nn-gold-500)!important;
}
body.nn-theme button.secondary,
body.nn-theme .btn.secondary,
body.nn-theme .copy-link,
body.nn-theme .report-review{
  background:var(--nn-forest-800)!important;
  color:#fff!important;
  border-color:var(--nn-forest-700)!important;
}
body.nn-theme button:hover,
body.nn-theme .btn:hover,
body.nn-theme .action:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(7,43,28,.14)}
body.nn-theme button:disabled{transform:none;box-shadow:none}
body.nn-theme #professorFinLauncher{
  background:var(--nn-forest-900)!important;
  color:#fff!important;
  border:1px solid #315443!important;
}
body.nn-theme #professorFinLauncher[hidden]{display:none!important}
body.nn-theme .danger{background:var(--nn-danger)!important;color:#fff!important}
body.nn-theme .hold{background:#846b21!important;color:#fff!important}
body.nn-theme .pill,
body.nn-theme .badge,
body.nn-theme .youth-badge{
  background:var(--nn-gold-100)!important;
  color:#5f4b0e!important;
  border:1px solid #e7cf7b!important;
  font-weight:850!important;
}
body.nn-theme .filter-chip{
  background:#f0f3ed!important;
  border:1px solid #cbd5cc!important;
  color:var(--nn-forest-900)!important;
}
body.nn-theme .filter-chip[aria-pressed="true"]{
  background:var(--nn-forest-800)!important;
  border-color:var(--nn-forest-800)!important;
  color:#fff!important;
}
body.nn-theme .grid .card img,
body.nn-theme .heroimg,
body.nn-theme .seller-card img,
body.nn-theme .logo{
  border-radius:14px!important;
}
body.nn-theme .price{color:var(--nn-forest-900)!important;font-weight:950!important}
body.nn-theme .stock{color:#456252!important}
body.nn-theme .inherit{
  background:#edf6f0!important;
  border-color:#b9d5c2!important;
  color:#24523a!important;
}
body.nn-theme .shield-strip{gap:7px}
body.nn-theme .business-shield{
  box-shadow:0 4px 12px rgba(8,33,22,.12)!important;
}
body.nn-theme .discover,
body.nn-theme .section-title,
body.nn-theme .pricing,
body.nn-theme .compare,
body.nn-theme .addons{
  position:relative;
}
body.nn-theme .video-discover-cta{
  background:linear-gradient(135deg,var(--nn-forest-950),var(--nn-forest-800))!important;
  border:1px solid #365846!important;
  border-radius:22px!important;
  padding:24px!important;
  box-shadow:var(--nn-shadow-strong)!important;
}
body.nn-theme .video-discover-cta h2,
body.nn-theme .video-discover-cta p,
body.nn-theme .video-discover-cta .category{color:#fff!important}
body.nn-theme .video-discover-cta .category{color:var(--nn-gold-400)!important}
body.nn-theme .video-discover-cta a{background:var(--nn-gold-500)!important;color:#10160f!important}
body.nn-theme .youth-head{
  background:linear-gradient(135deg,var(--nn-forest-950),var(--nn-forest-800))!important;
  border-color:#7f6a2c!important;
  box-shadow:var(--nn-shadow)!important;
}
body.nn-theme .youth-head h2{color:#fff!important}
body.nn-theme .youth-head p{color:#d9e5dc!important}
body.nn-theme footer{
  margin-top:34px;
  background:var(--nn-forest-950)!important;
  color:#afbbb4!important;
  border-top:3px solid var(--nn-gold-500)!important;
  padding:28px 18px!important;
}
body.nn-theme footer a{color:#f0cb62!important}
body.nn-theme summary{font-weight:850;color:var(--nn-forest-900);cursor:pointer}
body.nn-theme hr{border:0;border-top:1px solid var(--nn-line)}
body.nn-theme .nn-page-kicker{
  color:var(--nn-gold-400);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.11em
}
/* Dark product/storefront templates become warm, website-like commerce pages. */
body.nn-theme .product{padding:18px!important}
body.nn-theme .seller-shell{overflow:hidden}
body.nn-theme .banner{border-bottom:1px solid var(--nn-line)}
body.nn-theme .credentials{background:#f9fbf7!important}\nbody.nn-theme .storybox p{color:var(--nn-muted)!important}
body.nn-theme .review,
body.nn-theme .review-item{
  border-color:var(--nn-line)!important;
  background:#fbfcf9!important;
  color:var(--nn-ink)!important;
}
body.nn-theme .seller-reply,
body.nn-theme .reply{
  background:#edf6f0!important;color:#244d37!important;border-color:var(--nn-forest-600)!important;
}
/* Seller pricing hero preserves premium contrast. */
body.nn-theme .featured{
  border:2px solid var(--nn-gold-500)!important;
  box-shadow:0 18px 44px rgba(8,44,29,.14)!important;
}
body.nn-theme .final,
body.nn-theme .cta{
  background:linear-gradient(135deg,var(--nn-forest-950),var(--nn-forest-800))!important;
  color:#fff!important;
  border-color:#315b47!important;
}
body.nn-theme .final h2,body.nn-theme .final p,body.nn-theme .cta h2,body.nn-theme .cta p{color:#fff!important}
/* Reusable app-style mobile navigation */
.nn-mobile-nav{display:none}
@media(max-width:720px){
  body.nn-shell{padding-bottom:76px!important}
  body.nn-shell .info{padding-bottom:max(96px,calc(env(safe-area-inset-bottom) + 82px))!important}
  body.nn-theme{padding-bottom:76px!important}
  body.nn-theme nav .links,
  body.nn-theme nav .navlinks,
  body.nn-theme header nav > a:not(.brand):not(.nn-brand-link),
  body.nn-shell:not(.nn-theme) header .navlinks{display:none!important}
  body.nn-theme header nav{min-height:62px!important;justify-content:flex-start!important}
  body.nn-theme header .nn-brand-link{margin-bottom:12px}
  .nn-mobile-nav{
    display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:9997;
    left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));
    min-height:60px;background:rgba(6,26,18,.96);border:1px solid #315443;
    border-radius:18px;box-shadow:0 14px 38px rgba(0,0,0,.3);backdrop-filter:blur(18px);overflow:hidden
  }
  .nn-mobile-nav a{
    color:#dbe3dd!important;text-decoration:none!important;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:3px;font-size:9px;font-weight:800;padding:6px 2px
  }
  .nn-mobile-nav a span{font-size:18px;line-height:1}
  .nn-mobile-nav a[aria-current="page"]{background:rgba(229,184,61,.16);color:var(--nn-gold-400)!important}
  body.nn-theme header{border-radius:0 0 18px 18px}
}
@media(prefers-reduced-motion:reduce){
  body.nn-theme button,body.nn-theme .btn,body.nn-theme .action{transition:none}
}

/* Mobile 9/10 polish */
@media(max-width:720px){
body.nn-shell .hero-grid{min-height:500px!important}
body.nn-shell .hero-copy{padding:34px 0 92px!important}
body.nn-shell .hero h1{font-size:clamp(42px,12vw,54px)!important;line-height:.98!important;margin:14px 0 16px!important}
body.nn-shell .hero .lead{font-size:18px!important;line-height:1.5!important;margin-bottom:18px!important}
body.nn-shell .hero .tagline{margin-bottom:18px!important}
body.nn-shell #professorFinLauncher{right:16px!important;bottom:88px!important;width:48px!important;height:48px!important;padding:0!important;display:grid!important;place-items:center!important;font-size:0!important;border:1px solid #5e806f!important;box-shadow:0 10px 26px rgba(0,0,0,.28)!important}
body.nn-shell #professorFinLauncher span{font-size:22px!important;margin:0!important}
}
