/* Sproutiva Agro – custom styles (Tailwind handles utilities). */

html { scroll-behavior: smooth; }
body { font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
h1, h2, h3, h4, h5, h6, .font-display { font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif; }
section[id], div[id="founder"] { scroll-margin-top: 5rem; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

.sp-skip-link { position: absolute; left: -9999px; top: 0; z-index: 200; background: #047857; color: #fff; padding: .5rem 1rem; }
.sp-skip-link:focus { left: 0; }
.sp-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* animations */
@keyframes sheen { 0% { transform: translateX(-100%); } 100% { transform: translateX(200%); } }
.animate-sheen { animation: sheen 3s infinite; }
@keyframes sp-fade-in { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
.animate-fade-in { animation: sp-fade-in .2s ease-out; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }

/* mobile menu */
#mobile-menu { display: none; }
#mobile-menu.is-open { display: block; }
@media (min-width: 1024px) { #mobile-menu, #mobile-menu.is-open { display: none; } }
.icon-close { display: none; }
[data-menu-toggle][aria-expanded="true"] .icon-menu { display: none; }
[data-menu-toggle][aria-expanded="true"] .icon-close { display: block; }

/* modals */
.sp-modal { display: none; }
.sp-modal.is-open { display: flex; }

/* product catalog */
.cat-btn { background: #fff; color: #334155; border: 1px solid #e2e8f0; }
.cat-btn:hover { background: #f1f5f9; }
.cat-btn.is-active { background: #047857; color: #fff; border-color: #047857; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.product-card.is-filtered-out { display: none; }
.sp-empty { display: none; }
.sp-empty.is-open { display: block; }

/* forms */
[data-error-for]:empty, [data-form-error]:empty { display: none; }
[data-quote-success][hidden], [data-quote-form][hidden] { display: none; }
.sp-btn-busy { opacity: .7; pointer-events: none; }

/* FAQ */
.faq-panel { display: none; }
.faq-item.is-open .faq-panel { display: block; }
.faq-item.is-open .faq-chev { transform: rotate(180deg); color: #059669; }

/* pouch showcase */
.pouch-tab { background: #0f172a; color: #94a3b8; border: 1px solid #1e293b; }
.pouch-tab:hover { color: #fff; background: rgba(30,41,59,.6); }
.pouch-tab.is-active { background: #1e293b; color: #6ee7b7; border-color: rgba(16,185,129,.5); box-shadow: 0 1px 2px rgba(0,0,0,.2); }
[data-pouch] { --accent: #34d399; --accent-stroke: #10b981; --glow: rgba(16,185,129,.12); }
[data-pouch][data-accent="gold"], [data-pouch][data-accent="gold-lux"] { --accent: #fbbf24; --accent-stroke: #fbbf24; --glow: rgba(245,158,11,.12); }
[data-pouch][data-accent="teal"] { --accent: #34d399; --accent-stroke: #34d399; --glow: rgba(16,185,129,.12); }
[data-pouch][data-accent="amber"] { --accent: #fbbf24; --accent-stroke: #f59e0b; --glow: rgba(217,119,6,.12); }
.pouch-accent-text { color: var(--accent); }
.pouch-leaf { stroke: var(--accent-stroke); }
.pouch-glow { background: radial-gradient(circle at 50% 35%, var(--glow), transparent 65%); }
.pouch-item { opacity: .85; }
.pouch-item:hover { opacity: 1; }
.pouch-item.is-selected { transform: scale(1.05); opacity: 1; }
.pouch-item[data-size="1 kg"].is-selected { box-shadow: 0 0 0 2px rgba(16,185,129,.5); border-radius: .5rem; }

/* WordPress content (pages / posts) */
.entry-content { color: #334155; line-height: 1.75; font-size: 1rem; }
.entry-content > * + * { margin-top: 1.1em; }
.entry-content h2 { font-size: 1.6rem; font-weight: 800; color: #0f172a; margin-top: 1.8em; }
.entry-content h3 { font-size: 1.3rem; font-weight: 700; color: #0f172a; margin-top: 1.5em; }
.entry-content a { color: #047857; text-decoration: underline; }
.entry-content ul { list-style: disc; padding-left: 1.4em; }
.entry-content ol { list-style: decimal; padding-left: 1.4em; }
.entry-content img { max-width: 100%; height: auto; border-radius: .75rem; }
.entry-content blockquote { border-left: 4px solid #10b981; padding-left: 1rem; font-style: italic; color: #475569; }
.alignleft { float: left; margin: 0 1.5em 1em 0; } .alignright { float: right; margin: 0 0 1em 1.5em; } .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.screen-reader-text { position: absolute; left: -9999px; }
.pagination .nav-links { display: flex; gap: .5rem; } .pagination a, .pagination span { padding: .4rem .8rem; border: 1px solid #e2e8f0; border-radius: .5rem; background: #fff; }
