/*
Theme Name: Dairy Farm Punjab
Theme URI: https://dairyfarmpunjab.com/
Author: Dairy Farm Punjab
Description: A responsive WordPress theme for fresh dairy products, milk processing, online orders, educational content and AI-assisted customer guidance in Punjab, Pakistan.
Version: 2.0.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dairy-farm-punjab
Tags: blog, business, food-and-drink, e-commerce, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, accessibility-ready
*/

:root {
  --dfp-emerald-950: #022c22;
  --dfp-emerald-900: #064e3b;
  --dfp-emerald-800: #065f46;
  --dfp-emerald-700: #047857;
  --dfp-emerald-600: #059669;
  --dfp-emerald-500: #10b981;
  --dfp-emerald-300: #6ee7b7;
  --dfp-emerald-200: #a7f3d0;
  --dfp-emerald-100: #d1fae5;
  --dfp-emerald-50: #ecfdf5;
  --dfp-slate-950: #020617;
  --dfp-slate-900: #0f172a;
  --dfp-slate-800: #1e293b;
  --dfp-slate-700: #334155;
  --dfp-slate-600: #475569;
  --dfp-slate-500: #64748b;
  --dfp-slate-400: #94a3b8;
  --dfp-slate-300: #cbd5e1;
  --dfp-slate-200: #e2e8f0;
  --dfp-slate-100: #f1f5f9;
  --dfp-slate-50: #f8fafc;
  --dfp-white: #ffffff;
  --dfp-red-700: #b91c1c;
  --dfp-red-50: #fef2f2;
  --dfp-radius-xl: 1.5rem;
  --dfp-radius-2xl: 2rem;
  --dfp-shadow: 0 20px 45px rgba(15, 23, 42, 0.10);
  --dfp-shadow-lg: 0 30px 70px rgba(6, 78, 59, 0.16);
  --dfp-max: 1280px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  overflow-x: clip;
  min-height: 100vh;
  background: var(--dfp-slate-50);
  color: var(--dfp-slate-900);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.admin-bar .dfp-header { top: 32px; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
::selection { background: #bbf7d0; color: #052e16; }
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
  clip: auto !important; width: auto; height: auto; margin: 0; padding: .8rem 1rem;
  left: 1rem; top: 1rem; z-index: 100000; background: #fff; color: #111; border-radius: .5rem;
}
:focus-visible { outline: 3px solid #34d399; outline-offset: 3px; }

.dfp-container { width: min(var(--dfp-max), calc(100% - 2.5rem)); margin-inline: auto; }
.dfp-section { padding: 5rem 0; }
.dfp-section-white { background: var(--dfp-white); }
.dfp-section-soft { background: var(--dfp-emerald-50); }
.dfp-text-center { text-align: center; }
.dfp-hidden { display: none !important; }

.dfp-header {
  position: sticky; top: 0; z-index: 80;
  border-bottom: 1px solid rgba(6, 78, 59, .10);
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(16px);
}
.dfp-nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; }
.dfp-brand { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.dfp-brand-mark {
  width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center;
  border-radius: 1rem; background: var(--dfp-emerald-700); color: #fff; font-size: 1.45rem;
  box-shadow: 0 12px 24px rgba(4, 120, 87, .25);
}
.dfp-brand-title { display: block; font-size: 1.08rem; font-weight: 900; letter-spacing: -.025em; color: var(--dfp-slate-950); line-height: 1.25; }
.dfp-brand-subtitle { display: block; margin-top: .12rem; font-size: .69rem; font-weight: 700; letter-spacing: .16em; color: var(--dfp-emerald-700); text-transform: uppercase; }
.custom-logo { max-height: 52px; width: auto; }
.dfp-menu { display: flex; align-items: center; gap: .15rem; list-style: none; padding: .25rem; margin: 0; border: 1px solid var(--dfp-slate-200); border-radius: 999px; background: #fff; box-shadow: 0 2px 12px rgba(15,23,42,.05); }
.dfp-menu li { margin: 0; }
.dfp-menu a { display: block; padding: .58rem .9rem; border-radius: 999px; color: var(--dfp-slate-700); font-size: .88rem; font-weight: 800; transition: .2s ease; }
.dfp-menu a:hover, .dfp-menu .current-menu-item > a, .dfp-menu .current_page_item > a { background: var(--dfp-emerald-50); color: var(--dfp-emerald-800); }
.dfp-mobile-menu { display: none; gap: .5rem; overflow-x: auto; border-top: 1px solid var(--dfp-slate-100); padding: .55rem 1.25rem; scrollbar-width: none; }
.dfp-mobile-menu::-webkit-scrollbar { display: none; }
.dfp-mobile-menu a { flex: 0 0 auto; padding: .5rem .85rem; border-radius: 999px; background: var(--dfp-emerald-50); color: var(--dfp-emerald-900); font-size: .84rem; font-weight: 800; }

.dfp-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 50px; padding: .86rem 1.45rem; border: 1px solid transparent; border-radius: 999px;
  font-weight: 900; line-height: 1.15; transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.dfp-button:hover { transform: translateY(-2px); }
.dfp-button-primary { background: var(--dfp-emerald-700); color: #fff; box-shadow: 0 14px 30px rgba(4, 120, 87, .22); }
.dfp-button-primary:hover { background: var(--dfp-emerald-800); }
.dfp-button-secondary { background: #fff; color: var(--dfp-slate-900); border-color: var(--dfp-slate-300); }
.dfp-button-secondary:hover { border-color: var(--dfp-emerald-600); color: var(--dfp-emerald-800); }
.dfp-button-white { background: #fff; color: var(--dfp-emerald-900); box-shadow: 0 14px 30px rgba(2,44,34,.2); }
.dfp-button-small { min-height: 44px; padding: .7rem 1rem; font-size: .86rem; }
.dfp-button-full { width: 100%; }

.dfp-home-hero {
  position: relative; overflow: hidden; padding: 4.5rem 0 3.2rem;
  background: radial-gradient(circle at 15% 15%, #bbf7d0, transparent 32%), radial-gradient(circle at 90% 20%, #bfdbfe, transparent 28%), linear-gradient(135deg, #f8fafc, #ecfdf5);
}
.dfp-hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 3rem; }
.dfp-pill { display: inline-flex; padding: .55rem 1rem; border: 1px solid var(--dfp-emerald-200); border-radius: 999px; background: rgba(255,255,255,.82); color: var(--dfp-emerald-700); box-shadow: 0 4px 12px rgba(15,23,42,.05); font-size: .78rem; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
.dfp-home-title { margin: 1.4rem 0 0; color: var(--dfp-slate-950); font-size: clamp(3rem, 6vw, 5.2rem); line-height: .98; letter-spacing: -.055em; font-weight: 950; }
.dfp-hero-copy { max-width: 44rem; margin: 1.45rem 0 0; color: var(--dfp-slate-700); font-size: 1.11rem; line-height: 1.8; }
.dfp-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.8rem; }
.dfp-process-card { position: relative; overflow: hidden; padding: 1rem; border: 1px solid rgba(255,255,255,.55); border-radius: 2rem; background: rgba(255,255,255,.86); box-shadow: var(--dfp-shadow-lg); backdrop-filter: blur(12px); }
.dfp-process-card::before { content: ""; position: absolute; inset: 2rem 3rem auto; height: 6rem; border-radius: 999px; background: #d1fae5; filter: blur(35px); }
.dfp-process-card svg { position: relative; width: 100%; height: auto; }
.dfp-stats { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; margin-top: 3rem; }
.dfp-stat { padding: 1.25rem; border: 1px solid rgba(255,255,255,.75); border-radius: 1.5rem; background: rgba(255,255,255,.76); box-shadow: 0 12px 28px rgba(6,78,59,.05); backdrop-filter: blur(8px); }
.dfp-stat-value { margin: 0; color: var(--dfp-emerald-800); font-size: 1.85rem; font-weight: 950; line-height: 1.2; }
.dfp-stat-label { margin: .25rem 0 0; color: var(--dfp-slate-600); font-weight: 700; }

.dfp-page-hero { position: relative; overflow: hidden; padding: 5.2rem 0; background: radial-gradient(circle at top left, #bbf7d0, transparent 36%), linear-gradient(135deg, #f8fafc, #ecfdf5); }
.dfp-eyebrow { margin: 0; color: var(--dfp-emerald-700); font-size: .78rem; font-weight: 950; letter-spacing: .24em; text-transform: uppercase; }
.dfp-page-title { max-width: 62rem; margin: 1.1rem 0 0; color: var(--dfp-slate-950); font-size: clamp(2.55rem, 5vw, 4.6rem); line-height: 1.03; letter-spacing: -.045em; font-weight: 950; }
.dfp-page-description { max-width: 48rem; margin: 1.4rem 0 0; color: var(--dfp-slate-700); font-size: 1.1rem; line-height: 1.8; }
.dfp-section-heading { max-width: 52rem; margin-inline: auto; text-align: center; }
.dfp-section-heading h2 { margin: .7rem 0 0; color: var(--dfp-slate-950); font-size: clamp(2rem, 4vw, 3.35rem); line-height: 1.08; letter-spacing: -.04em; font-weight: 950; }
.dfp-section-heading p:last-child { margin: .95rem 0 0; color: var(--dfp-slate-700); font-size: 1.08rem; line-height: 1.8; }

.dfp-grid-2 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.dfp-grid-3 { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.dfp-grid-4 { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.5rem; }
.dfp-grid-7 { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 1rem; }
.dfp-grid-gap-lg { gap: 2.5rem; }
.dfp-mt-lg { margin-top: 3rem; }
.dfp-card { border: 1px solid var(--dfp-slate-200); border-radius: 1.75rem; background: #fff; box-shadow: var(--dfp-shadow); }
.dfp-feature { padding: 1.75rem; transition: transform .2s ease, box-shadow .2s ease; }
.dfp-feature:hover { transform: translateY(-4px); box-shadow: 0 28px 55px rgba(15,23,42,.14); }
.dfp-feature-icon { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 1rem; background: var(--dfp-emerald-100); font-size: 1.8rem; }
.dfp-feature h3 { margin: 1.1rem 0 0; color: var(--dfp-slate-950); font-size: 1.25rem; line-height: 1.25; font-weight: 950; }
.dfp-feature p, .dfp-feature .dfp-feature-content { margin: .7rem 0 0; color: var(--dfp-slate-700); line-height: 1.75; }

.dfp-farm-photo { overflow: hidden; border: 1px solid var(--dfp-slate-200); border-radius: 2rem; background: #fff; box-shadow: var(--dfp-shadow); }
.dfp-farm-photo img { width: 100%; height: 320px; object-fit: cover; }
.dfp-farm-photo-body { padding: 1.25rem; }
.dfp-farm-photo h3 { margin: 0; color: var(--dfp-slate-950); font-size: 1.05rem; font-weight: 950; }
.dfp-farm-photo p { margin: .25rem 0 0; color: var(--dfp-slate-600); font-size: .9rem; }

.dfp-product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.5rem; }
.dfp-product-card { padding: 1.5rem; text-align: center; border: 1px solid var(--dfp-slate-200); border-radius: 2rem; background: var(--dfp-slate-50); box-shadow: 0 12px 28px rgba(15,23,42,.08); transition: transform .25s ease, box-shadow .25s ease; }
.dfp-product-card:hover { transform: translateY(-8px); box-shadow: 0 26px 55px rgba(15,23,42,.15); }
.dfp-product-image { height: 190px; display: grid; place-items: center; overflow: hidden; border-radius: 1rem; background: #fff; }
.dfp-product-image img { width: 100%; height: 165px; object-fit: contain; border-radius: .85rem; transition: transform .25s ease; }
.dfp-product-card:hover .dfp-product-image img { transform: scale(1.08); }
.dfp-product-card h3 { margin: 1.1rem 0 0; color: var(--dfp-slate-950); font-size: 1.25rem; font-weight: 950; }
.dfp-product-card p { margin: .45rem 0 0; color: var(--dfp-slate-600); font-size: .9rem; }
.dfp-product-price { color: var(--dfp-emerald-700) !important; font-size: 1.1rem !important; font-weight: 950; }
.dfp-product-actions { display: flex; gap: .5rem; margin-top: 1rem; }
.dfp-product-actions .dfp-button { flex: 1; padding-inline: .65rem; min-height: 44px; font-size: .82rem; }
.dfp-product-row { display: flex; overflow: hidden; min-height: 360px; border: 1px solid var(--dfp-slate-200); border-radius: 2rem; background: #fff; box-shadow: var(--dfp-shadow); }
.dfp-product-row-media { width: 40%; display: grid; place-items: center; padding: 1.5rem; background: var(--dfp-slate-50); }
.dfp-product-row-media img { width: 100%; height: 240px; object-fit: contain; border-radius: 1.25rem; }
.dfp-product-row-body { flex: 1; display: flex; flex-direction: column; padding: 2rem; }
.dfp-product-row h2 { margin: 0; color: var(--dfp-slate-950); font-size: 1.65rem; line-height: 1.2; font-weight: 950; }
.dfp-product-row .dfp-product-price { margin-top: .45rem; }
.dfp-product-row-description { margin: .9rem 0 0; color: var(--dfp-slate-700); line-height: 1.75; }
.dfp-check-list { display: grid; gap: .45rem; margin: 1.1rem 0 0; padding: 0; list-style: none; color: var(--dfp-slate-600); font-size: .9rem; font-weight: 700; }
.dfp-check-list li::before { content: "✓"; margin-right: .5rem; color: var(--dfp-emerald-600); }

.dfp-number-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.25rem; margin-top: 3rem; }
.dfp-number-card { padding: 1.5rem; border: 1px solid var(--dfp-slate-200); border-radius: 1.5rem; background: var(--dfp-slate-50); }
.dfp-number-card span { color: var(--dfp-emerald-700); font-size: .82rem; font-weight: 950; }
.dfp-number-card h3 { margin: .6rem 0 0; color: var(--dfp-slate-950); font-size: 1.1rem; font-weight: 950; }
.dfp-mission { padding: 2rem; border-radius: 2rem; background: var(--dfp-emerald-800); color: #fff; box-shadow: var(--dfp-shadow-lg); }
.dfp-mission h2 { margin: .8rem 0 0; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.08; font-weight: 950; }
.dfp-mission p:last-child { margin: 1.1rem 0 0; color: var(--dfp-emerald-50); line-height: 1.85; }

.dfp-roadmap { max-width: 1000px; margin: 3rem auto 0; display: grid; gap: 1.25rem; }
.dfp-roadmap-card { display: grid; grid-template-columns: 120px 1fr; gap: 1.25rem; align-items: center; padding: 1.75rem; border: 1px solid var(--dfp-slate-200); border-radius: 2rem; background: #fff; box-shadow: 0 12px 28px rgba(15,23,42,.07); }
.dfp-roadmap-number { width: 96px; height: 96px; display: grid; place-items: center; border-radius: 1.5rem; background: var(--dfp-emerald-700); color: #fff; font-size: 1.8rem; font-weight: 950; }
.dfp-roadmap-card h2 { margin: 0; color: var(--dfp-slate-950); font-size: 1.55rem; font-weight: 950; }
.dfp-roadmap-card p { margin: .65rem 0 0; color: var(--dfp-slate-700); font-size: 1.04rem; line-height: 1.75; }

.dfp-process-step { padding: 1.25rem; border: 1px solid var(--dfp-slate-200); border-radius: 1.5rem; background: var(--dfp-slate-50); }
.dfp-process-step span { color: var(--dfp-emerald-700); font-size: .76rem; font-weight: 950; }
.dfp-process-step p { margin: .65rem 0 0; color: var(--dfp-slate-800); font-weight: 750; line-height: 1.65; }

.dfp-contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 2.5rem; }
.dfp-contact-aside { display: grid; align-content: start; gap: 1.25rem; }
.dfp-dark-panel { padding: 2rem; border-radius: 2rem; background: var(--dfp-slate-950); color: #fff; box-shadow: 0 28px 55px rgba(2,6,23,.2); }
.dfp-dark-panel h2 { margin: .85rem 0 0; font-size: 2rem; line-height: 1.15; font-weight: 950; }
.dfp-dark-panel ul { display: grid; gap: .9rem; padding: 0; margin: 1.4rem 0 0; list-style: none; color: var(--dfp-slate-300); }
.dfp-soft-panel { padding: 2rem; border: 1px solid var(--dfp-emerald-200); border-radius: 2rem; background: var(--dfp-emerald-50); color: var(--dfp-emerald-900); }
.dfp-soft-panel h2 { margin: 0; font-size: 1.5rem; font-weight: 950; }
.dfp-soft-panel p { margin: .7rem 0 0; line-height: 1.75; }

.dfp-form { padding: 2rem; border: 1px solid var(--dfp-slate-200); border-radius: 2rem; background: #fff; box-shadow: 0 28px 60px rgba(148,163,184,.28); }
.dfp-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
.dfp-field { display: grid; gap: .45rem; color: var(--dfp-slate-700); font-size: .88rem; font-weight: 800; }
.dfp-field-full { grid-column: 1 / -1; }
.dfp-field input, .dfp-field textarea, .dfp-field select {
  width: 100%; border: 1px solid var(--dfp-slate-200); border-radius: 1rem; background: #fff; color: var(--dfp-slate-900);
  padding: .8rem 1rem; outline: none; transition: border-color .2s ease, box-shadow .2s ease;
}
.dfp-field input:focus, .dfp-field textarea:focus, .dfp-field select:focus { border-color: var(--dfp-emerald-600); box-shadow: 0 0 0 4px rgba(16,185,129,.10); }
.dfp-field textarea { resize: vertical; min-height: 140px; }
.dfp-honeypot { position: absolute !important; left: -9999px !important; opacity: 0 !important; pointer-events: none !important; }
.dfp-form-status { display: none; margin: 1rem 0 0; padding: .9rem 1rem; border-radius: 1rem; font-size: .9rem; font-weight: 800; }
.dfp-form-status.is-visible { display: block; }
.dfp-form-status.is-success { background: var(--dfp-emerald-50); color: var(--dfp-emerald-800); }
.dfp-form-status.is-error { background: var(--dfp-red-50); color: var(--dfp-red-700); }
.dfp-form-note { margin: .9rem 0 0; color: var(--dfp-slate-600); text-align: center; font-size: .86rem; }
.dfp-form-note a { color: var(--dfp-emerald-700); font-weight: 800; text-decoration: underline; }
.dfp-field-help { color: var(--dfp-slate-500); font-size: .78rem; font-weight: 600; line-height: 1.45; }
.dfp-otp-method-field { align-content: start; }
.dfp-otp-methods { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; margin-top: .15rem; }
.dfp-otp-method-option { position: relative; cursor: pointer; }
.dfp-otp-method-option input { position: absolute; width: 1px; height: 1px; min-height: 0 !important; padding: 0 !important; border: 0 !important; opacity: 0; pointer-events: none; }
.dfp-otp-method-card { display: flex; min-height: 74px; flex-direction: column; justify-content: center; gap: .22rem; padding: .8rem .9rem; border: 1px solid var(--dfp-slate-200); border-radius: 1rem; background: #fff; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.dfp-otp-method-card strong { color: var(--dfp-slate-800); font-size: .9rem; font-weight: 900; }
.dfp-otp-method-card small { color: var(--dfp-slate-500); font-size: .72rem; font-weight: 650; line-height: 1.35; }
.dfp-otp-method-option input:checked + .dfp-otp-method-card { border-color: var(--dfp-emerald-600); background: var(--dfp-emerald-50); box-shadow: 0 0 0 3px rgba(16,185,129,.10); }
.dfp-otp-method-option input:focus-visible + .dfp-otp-method-card { outline: 3px solid rgba(16,185,129,.22); outline-offset: 2px; }
.dfp-otp-unavailable { padding: .75rem .9rem; border-radius: .9rem; background: var(--dfp-red-50); color: var(--dfp-red-700); font-size: .8rem; font-weight: 800; line-height: 1.45; }
.dfp-otp-send-field { align-content: end; }
.dfp-otp-send-field .dfp-button { min-height: 52px; width: 100%; }
.dfp-otp-panel { padding: 1rem; border: 1px solid #a7f3d0; border-radius: 1.15rem; background: #f0fdf4; }
.dfp-otp-panel[hidden] { display: none !important; }
.dfp-otp-panel > label { color: var(--dfp-slate-700); font-size: .88rem; font-weight: 800; }
.dfp-otp-row { display: flex; align-items: center; gap: 1rem; }
.dfp-otp-row input { flex: 1; letter-spacing: .28em; font-size: 1.1rem; font-weight: 900; text-align: center; }
.dfp-otp-timer { min-width: 150px; color: var(--dfp-emerald-800); font-size: .78rem; font-weight: 800; }
.dfp-otp-status { display: none; margin-top: .35rem; padding: .75rem .9rem; border-radius: .85rem; font-size: .82rem; font-weight: 800; }
.dfp-otp-status.is-visible { display: block; }
.dfp-otp-status.is-success { background: #dcfce7; color: #166534; }
.dfp-otp-status.is-error { background: var(--dfp-red-50); color: var(--dfp-red-700); }
.dfp-button:disabled { cursor: not-allowed; opacity: .58; }
.dfp-button:disabled:hover { transform: none; }

.dfp-cta { padding: 4rem 0; }
.dfp-cta-box { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 3rem; border-radius: 2rem; background: var(--dfp-emerald-800); color: #fff; box-shadow: var(--dfp-shadow-lg); }
.dfp-cta-box h2 { margin: .7rem 0 0; font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.06; letter-spacing: -.035em; font-weight: 950; }
.dfp-cta-box p:last-child { max-width: 50rem; margin: .9rem 0 0; color: var(--dfp-emerald-50); }

.dfp-blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.dfp-post-card { overflow: hidden; border: 1px solid var(--dfp-slate-200); border-radius: 1.75rem; background: #fff; box-shadow: var(--dfp-shadow); }
.dfp-post-card-media { height: 210px; background: linear-gradient(135deg, #d1fae5, #dbeafe); }
.dfp-post-card-media img { width: 100%; height: 100%; object-fit: cover; }
.dfp-post-card-body { padding: 1.5rem; }
.dfp-post-meta { color: var(--dfp-emerald-700); font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.dfp-post-card h2, .dfp-post-card h3 { margin: .65rem 0 0; color: var(--dfp-slate-950); font-size: 1.35rem; line-height: 1.3; font-weight: 950; }
.dfp-post-card p { margin: .7rem 0 0; color: var(--dfp-slate-600); }
.dfp-post-card a.dfp-read-more { display: inline-flex; margin-top: 1rem; color: var(--dfp-emerald-700); font-weight: 900; }
.dfp-article-wrap { max-width: 860px; margin: 0 auto; }
.dfp-article { padding: 2.2rem; border: 1px solid var(--dfp-slate-200); border-radius: 2rem; background: #fff; box-shadow: var(--dfp-shadow); }
.dfp-article h1 { margin: 0; color: var(--dfp-slate-950); font-size: clamp(2.25rem,5vw,4rem); line-height: 1.05; letter-spacing: -.04em; }
.dfp-entry-content { color: var(--dfp-slate-700); font-size: 1.03rem; line-height: 1.86; }
.dfp-entry-content h2, .dfp-entry-content h3 { color: var(--dfp-slate-950); line-height: 1.2; margin-top: 2rem; }
.dfp-entry-content h2 { font-size: 1.75rem; }
.dfp-entry-content h3 { font-size: 1.35rem; }
.dfp-entry-content a { color: var(--dfp-emerald-700); text-decoration: underline; }
.dfp-entry-content img { border-radius: 1.25rem; }
.dfp-pagination { display: flex; justify-content: center; gap: .5rem; margin-top: 2.5rem; }
.dfp-pagination .page-numbers { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 .65rem; border: 1px solid var(--dfp-slate-200); border-radius: 999px; background: #fff; font-weight: 800; }
.dfp-pagination .current { background: var(--dfp-emerald-700); color: #fff; border-color: var(--dfp-emerald-700); }

.dfp-footer { background: var(--dfp-slate-950); color: #fff; }
.dfp-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 2.5rem; padding: 3.5rem 0; }
.dfp-footer-brand { display: flex; align-items: center; gap: .75rem; }
.dfp-footer-brand .dfp-brand-mark { background: var(--dfp-emerald-500); box-shadow: none; }
.dfp-footer h2, .dfp-footer h3, .dfp-footer p { margin-top: 0; }
.dfp-footer-title { font-size: 1.3rem; font-weight: 950; }
.dfp-footer-copy { max-width: 38rem; margin: 1.15rem 0 0 !important; color: var(--dfp-slate-300); }
.dfp-footer-heading { color: var(--dfp-emerald-200); font-weight: 950; }
.dfp-footer-links { display: grid; gap: .45rem; padding: 0; margin: 1rem 0 0; list-style: none; color: var(--dfp-slate-300); }
.dfp-footer-links a:hover { color: #fff; }
.dfp-footer-bottom { border-top: 1px solid rgba(255,255,255,.10); padding: 1.25rem 0; color: var(--dfp-slate-400); text-align: center; font-size: .86rem; }
.dfp-footer-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: .9rem; margin-top: .5rem; }
.dfp-footer-legal a:hover { color: #fff; }

.dfp-chat-shell { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 120; }
.dfp-chat-panel { display: none; width: min(390px, calc(100vw - 2rem)); height: min(560px, calc(100vh - 7rem)); margin-bottom: 1rem; overflow: hidden; border: 1px solid var(--dfp-emerald-100); border-radius: 2rem; background: #fff; box-shadow: 0 30px 80px rgba(15,23,42,.28); }
.dfp-chat-panel.is-open { display: flex; flex-direction: column; }
.dfp-chat-header { display: flex; align-items: center; justify-content: space-between; padding: 1.15rem 1.25rem; background: var(--dfp-emerald-800); color: #fff; }
.dfp-chat-header p { margin: 0; }
.dfp-chat-kicker { color: var(--dfp-emerald-200); font-size: .72rem; font-weight: 950; letter-spacing: .18em; text-transform: uppercase; }
.dfp-chat-title { margin-top: .1rem !important; font-size: 1.05rem; font-weight: 950; }
.dfp-chat-close { border: 0; border-radius: 999px; background: rgba(255,255,255,.1); color: #fff; padding: .45rem .7rem; font-size: 1.2rem; font-weight: 900; }
.dfp-chat-messages { flex: 1; overflow-y: auto; padding: 1rem; background: var(--dfp-slate-50); }
.dfp-chat-message { display: flex; margin-bottom: .75rem; }
.dfp-chat-message.user { justify-content: flex-end; }
.dfp-chat-bubble { max-width: 84%; margin: 0; padding: .72rem .9rem; border-radius: 1.1rem; background: #fff; color: var(--dfp-slate-700); box-shadow: 0 2px 8px rgba(15,23,42,.06); font-size: .88rem; line-height: 1.6; white-space: pre-wrap; }
.dfp-chat-message.user .dfp-chat-bubble { background: var(--dfp-emerald-700); color: #fff; }
.dfp-chat-form { display: flex; gap: .5rem; padding: .75rem; border-top: 1px solid var(--dfp-slate-200); }
.dfp-chat-form input { min-width: 0; flex: 1; border: 1px solid var(--dfp-slate-200); border-radius: 999px; padding: .7rem 1rem; outline: none; }
.dfp-chat-form input:focus { border-color: var(--dfp-emerald-600); }
.dfp-chat-form button { border: 0; border-radius: 999px; background: var(--dfp-emerald-700); color: #fff; padding: .7rem 1rem; font-size: .84rem; font-weight: 900; }
.dfp-chat-toggle { display: flex; align-items: center; gap: .65rem; border: 0; border-radius: 999px; background: var(--dfp-emerald-700); color: #fff; padding: .9rem 1.15rem; box-shadow: 0 18px 36px rgba(6,78,59,.30); font-weight: 950; transition: transform .2s ease, background .2s ease; }
.dfp-chat-toggle:hover { transform: translateY(-3px); background: var(--dfp-emerald-800); }
.dfp-chat-loading { color: var(--dfp-emerald-700); font-size: .82rem; font-weight: 800; }

.dfp-notice { padding: 1rem; border-radius: 1rem; background: #fff7ed; color: #9a3412; border: 1px solid #fed7aa; }
.dfp-empty { padding: 2rem; border: 1px dashed var(--dfp-slate-300); border-radius: 1.5rem; text-align: center; color: var(--dfp-slate-600); }

@media (max-width: 1100px) {
  .dfp-menu, .dfp-header-cta { display: none; }
  .dfp-mobile-menu { display: flex; }
  .dfp-hero-grid { grid-template-columns: 1fr; gap: 2.4rem; }
  .dfp-process-card { max-width: 820px; width: 100%; margin-inline: auto; }
  .dfp-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dfp-grid-7 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dfp-blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 782px) {
  body.admin-bar .dfp-header { top: 46px; }
  .dfp-nav { min-height: 68px; gap: .75rem; padding-block: .55rem; }
  .dfp-brand { flex: 1 1 auto; min-width: 0; }
  .dfp-brand > span:last-child { min-width: 0; }
  .dfp-brand-title { overflow-wrap: anywhere; }
  .dfp-section { padding: 3.6rem 0; }
  .dfp-home-hero { padding: 3rem 0 2.5rem; }
  .dfp-home-title { font-size: clamp(2.65rem, 12vw, 4rem); }
  .dfp-hero-copy, .dfp-page-description, .dfp-section-heading p:last-child { font-size: 1rem; line-height: 1.72; }
  .dfp-page-hero { padding: 3.8rem 0; }
  .dfp-process-card { padding: .75rem; border-radius: 1.6rem; }
  .dfp-stats, .dfp-grid-4, .dfp-number-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dfp-grid-3, .dfp-contact-grid, .dfp-footer-grid { grid-template-columns: 1fr; }
  .dfp-grid-2 { grid-template-columns: 1fr; }
  .dfp-farm-photo img { height: clamp(220px, 58vw, 320px); }
  .dfp-cta-box { align-items: flex-start; flex-direction: column; padding: 2rem; }
  .dfp-product-row { flex-direction: column; }
  .dfp-product-row-media { width: 100%; height: 260px; }
  .dfp-roadmap-card { grid-template-columns: 96px 1fr; }
  .dfp-field input, .dfp-field textarea, .dfp-field select { font-size: 16px; }
  .dfp-chat-panel { height: min(560px, calc(100dvh - 7rem)); }
}

@media (max-width: 600px) {
  .dfp-container { width: min(calc(100% - 1.25rem), var(--dfp-max)); }
  .dfp-nav { min-height: 64px; padding-block: .45rem; }
  .dfp-brand { gap: .6rem; }
  .dfp-brand-mark { width: 40px; height: 40px; flex-basis: 40px; border-radius: .85rem; font-size: 1.25rem; }
  .custom-logo { max-width: min(230px, 72vw); max-height: 44px; }
  .dfp-brand-subtitle { display: none; }
  .dfp-brand-title { max-width: 72vw; font-size: .9rem; line-height: 1.18; }
  .dfp-mobile-menu { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .4rem; overflow: visible; padding: .6rem .65rem .75rem; }
  .dfp-mobile-menu a { min-width: 0; padding: .55rem .35rem; text-align: center; white-space: normal; line-height: 1.2; }
  .dfp-section { padding: 3rem 0; }
  .dfp-home-hero { padding: 2.45rem 0 2.1rem; }
  .dfp-hero-grid { gap: 1.8rem; }
  .dfp-pill { max-width: 100%; padding: .48rem .78rem; font-size: .7rem; letter-spacing: .14em; overflow-wrap: anywhere; }
  .dfp-home-title { font-size: clamp(2.3rem, 12.5vw, 3.15rem); line-height: .99; letter-spacing: -.045em; }
  .dfp-page-title { font-size: clamp(2.2rem, 11vw, 2.8rem); }
  .dfp-section-heading h2 { font-size: clamp(1.85rem, 9vw, 2.55rem); }
  .dfp-actions { flex-direction: column; align-items: stretch; }
  .dfp-actions .dfp-button { width: 100%; }
  .dfp-stats, .dfp-product-grid, .dfp-blog-grid, .dfp-form-grid, .dfp-number-grid, .dfp-grid-7 { grid-template-columns: 1fr; }
  .dfp-stat, .dfp-feature, .dfp-product-card { padding: 1.15rem; }
  .dfp-product-image { height: 205px; }
  .dfp-product-image img { height: 180px; }
  .dfp-product-actions { flex-direction: column; }
  .dfp-product-actions .dfp-button { width: 100%; }
  .dfp-roadmap-card { grid-template-columns: 1fr; }
  .dfp-roadmap-number { width: 78px; height: 78px; }
  .dfp-form, .dfp-product-row-body, .dfp-article { padding: 1.15rem; border-radius: 1.45rem; }
  .dfp-form-grid { gap: .95rem; }
  .dfp-field input, .dfp-field textarea, .dfp-field select { min-height: 50px; padding: .78rem .9rem; }
  .dfp-field textarea { min-height: 125px; }
  .dfp-otp-methods { grid-template-columns: 1fr; }
  .dfp-otp-method-card { min-height: 66px; }
  .dfp-otp-panel { padding: .85rem; }
  .dfp-otp-row { align-items: stretch; flex-direction: column; gap: .45rem; }
  .dfp-otp-timer { min-width: 0; text-align: center; }
  .dfp-order-submit { min-height: 54px; white-space: normal; }
  .dfp-form-note { overflow-wrap: anywhere; }
  .dfp-cta { padding: 2.75rem 0; }
  .dfp-cta-box { padding: 1.5rem; border-radius: 1.5rem; }
  .dfp-footer-grid { gap: 1.8rem; padding: 2.75rem 0; }
  .dfp-chat-shell { right: .5rem; bottom: .5rem; }
  .dfp-chat-panel { width: calc(100vw - 1rem); height: min(72dvh, 560px); margin-bottom: .6rem; border-radius: 1.35rem; }
  .dfp-chat-toggle span:last-child { display: none; }
  .dfp-chat-toggle { width: 56px; height: 56px; justify-content: center; padding: 0; font-size: 1.3rem; }
}

@media (max-width: 380px) {
  .dfp-container { width: min(calc(100% - 1rem), var(--dfp-max)); }
  .dfp-mobile-menu { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dfp-brand-title { max-width: 68vw; font-size: .84rem; }
  .dfp-home-title { font-size: 2.2rem; }
  .dfp-page-title { font-size: 2.15rem; }
  .dfp-button { padding-inline: 1rem; }
  .dfp-form { padding: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

.dfp-about-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:2.5rem; }
@media (max-width: 782px) { .dfp-about-grid { grid-template-columns:1fr; } }
