/*
Theme Name: Purva Bites
Theme URI: https://www.purvabites.com
Author: One Digital Seed
Author URI: https://onedigitalseed.com
Description: WordPress port of the Purva Bites FMCG contract manufacturing site. Faithful replica of the Next.js public site: same design system, layout, contact form and content blocks. Products, product categories and blog posts are registered as custom post types.
Version: 1.0.9
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: purvabites
Tags: custom-menu, custom-logo, featured-images, threaded-comments, translation-ready

Copyright (c) 2026 Purva Bites / One Digital Seed. All rights reserved.
This theme is licensed under the GNU General Public License v2 or later.
*/

/* ==========================================================================
   Design Tokens (ported from src/app/globals.css + tailwind.config.ts)
   ========================================================================== */
:root {
  --pb-radius: 0.5rem;

  /* Semantic colors */
  --pb-background: #ffffff;
  --pb-foreground: #333333;
  --pb-card: #ffffff;
  --pb-card-foreground: #333333;
  --pb-popover: #ffffff;
  --pb-popover-foreground: #333333;
  --pb-primary: #3d6f08;
  --pb-primary-foreground: #ffffff;
  --pb-secondary: #8bc34a;
  --pb-secondary-foreground: #ffffff;
  --pb-muted: #f8f6f3;
  --pb-muted-foreground: #666666;
  --pb-accent: #fa881e;
  --pb-accent-foreground: #ffffff;
  --pb-destructive: #ff6b6b;
  --pb-border: #dddddd;
  --pb-input: #dddddd;
  --pb-ring: #3d6f08;

  /* Brand colors (NutVatika / Astra port) */
  --pb-brand-primary: #3d6f08;
  --pb-brand-primary-hover: #20340b;
  --pb-brand-secondary: #8bc34a;
  --pb-brand-secondary-hover: #6a9739;
  --pb-brand-accent: #fa881e;
  --pb-brand-accent-hover: #e67600;
  --pb-brand-text: #333333;
  --pb-brand-text-dark: #111111;
  --pb-brand-text-light: #666666;
  --pb-brand-bg: #ffffff;
  --pb-brand-bg-section: #f8f6f3;
  --pb-section: #f8f6f3;
  --pb-brand-border: #dddddd;
  --pb-brand-dark: #001524;
  --pb-brand-green-dark: #016129;

  /* Lead capture form bg */
  --pb-form-bg: #85aa64;
}

/* ==========================================================================
   Base
   ========================================================================== */
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background-color: var(--pb-background);
  color: var(--pb-foreground);
  font-family:
    "Poppins",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: var(--pb-brand-primary);
  text-decoration: none;
  transition: color 0.3s ease;
}
a:hover {
  color: var(--pb-brand-primary-hover);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Poppins", sans-serif;
  color: var(--pb-brand-text-dark);
  font-weight: 600;
  margin: 0 0 0.5em;
  line-height: 1.3;
}
h1 {
  font-size: 2.5rem;
  line-height: 1.4;
}
h2 {
  font-size: 2rem;
  line-height: 1.3;
}
h3 {
  font-size: 1.5rem;
  line-height: 1.3;
}
h4 {
  font-size: 1.25rem;
  line-height: 1.2;
}
h5 {
  font-size: 1.125rem;
  line-height: 1.2;
}
h6 {
  font-size: 1rem;
  line-height: 1.25;
}

p,
span,
li,
td,
th {
  font-family: "Poppins", sans-serif;
  color: var(--pb-brand-text);
}

ul,
ol {
  margin: 0;
  padding: 0;
}

button {
  font-family: inherit;
  cursor: pointer;
}

/* ==========================================================================
   Layout helpers
   ========================================================================== */
.pb-container {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.section-padding {
  padding: 5rem 0;
}

.container-custom {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

.pb-flex {
  display: flex;
}
.pb-flex-col {
  display: flex;
}
.pb-items-center {
  align-items: center;
}
.pb-justify-center {
  justify-content: center;
}
.pb-justify-between {
  justify-content: space-between;
}
.pb-gap-2 {
  gap: 0.5rem;
}
.pb-gap-3 {
  gap: 0.75rem;
}
.pb-gap-4 {
  gap: 1rem;
}
.pb-gap-6 {
  gap: 1.5rem;
}
.pb-grid {
  display: grid;
  justify-content: center;
}
.pb-grid-design {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 1023px) {
    .pb-grid-design {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
}

.pb-cta-strip-card {
  background-color: var(
    --pb-brand-primary,
    #007bff
  ); /* bg-primary (with fallback) */
  border-radius: 0.75rem; /* rounded-xl (12px) */
  padding: 1.5rem; /* p-6 (24px) */
  text-align: center; /* text-center */
  max-width: 24rem; /* max-w-sm (384px) */
  width: 100%; /* w-full */
  box-sizing: border-box; /* keeps padding within width */
}
.pb-cta-desc {
  color: white;
}

.pb-cta-icon {
  color: white;
}
.pb-lead-capture {
  background-color: #85aa64 !important;
}
.pb-cta-strip-card a {
  width: 100%; /* w-full */
  font-size: 0.75rem; /* text-xs (12px) */
  line-height: 1rem;
  font-weight: 500; /* font-medium */
  background-color: #ffffff; /* bg-white */
  color: var(--pb-brand-primary, #007bff); /* text-primary */
  border-radius: 0.375rem; /* rounded-md (6px) */
  padding-top: 0.625rem; /* py-2.5 (10px) */
  padding-bottom: 0.625rem;
  transition-property:
    color, background-color, border-color, text-decoration-color, fill, stroke; /* transition-colors */
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  border: none;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
}

pb-cta-strip-card a:hover {
  background-color: rgba(255, 255, 255, 0.9);
}
/* ==========================================================================
   Buttons (pill 30px, uppercase) — ported from globals.css
   ========================================================================== */
.btn,
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--pb-brand-primary);
  color: #ffffff;
  border: none;
  border-radius: 11px;
  padding: 10px 20px;
  font-weight: 600;
  font-size: 14px;
  line-height: 1em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
}
.btn-primary:hover,
.btn:hover {
  background-color: var(--pb-brand-primary-hover);
  color: #ffffff;
}

.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #3d6f08;
  color: #ffffff;
  border: none;
  border-radius: 11px;
  padding: 10px 20px;
  font-weight: 600;
  font-size: 14px;
  line-height: 1em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  cursor: pointer;
  border-radius: calc(0.5rem - 2px);
}
.btn-secondary:hover {
  background-color: var(--pb-brand-secondary-hover);
}

.btn-accent {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #3d6f08;
  color: #ffffff;
  border: none;
  border-radius: 11px;
  padding: 10px 20px;
  font-weight: 600;
  font-size: 14px;
  line-height: 1em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  cursor: pointer;
  border-radius: calc(0.5rem - 2px);
}
.btn-accent:hover {
  background-color: var(--pb-brand-secondary-hover);
}

.btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--pb-brand-primary);
  color: var(--pb-brand-primary);
  background: transparent;
  border-radius: 11px;
  padding: 10px 20px;
  font-weight: 600;
  font-size: 14px;
  line-height: 1em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  cursor: pointer;
}
.btn-outline:hover {
  background-color: var(--pb-brand-primary);
  color: #ffffff;
}

.btn-sm {
  padding: 8px 14px;
  font-size: 13px;
}
.btn-lg {
  padding: 14px 28px;
  font-size: 15px;
}

.btn svg {
  width: 1em;
  height: 1em;
}

/* ==========================================================================
   Cards / sections
   ========================================================================== */
.pb-card {
  background-color: var(--pb-brand-bg);
  border: 1px solid var(--pb-border);
  border-radius: 0.75rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  overflow: hidden;
}
.pb-card:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}
@media (max-width: 1023px) {
  .pb-card {
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .pb-card:hover {
    box-shadow: none;
  }
}
.bg-section {
  background-color: var(--pb-brand-bg-section);
}
.bg-dark {
  background-color: var(--pb-brand-dark);
  color: #ffffff;
}
.bg-primary-solid {
  background-color: #333;
  color: #ffffff;
}

.bg-brand-gradient {
  background: linear-gradient(170deg, #001524 0%, #016129 50%, #0d5318 100%);
  color: #ffffff;
}

.text-brand-gradient {
  background: linear-gradient(170deg, #0d5318 15%, #29b815 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ==========================================================================
   Screen reader / a11y
   ========================================================================== */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  word-wrap: normal !important;
}

/* ==========================================================================
   Accessibility: skip link
   ========================================================================== */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 999;
}
.skip-link:focus {
  left: 6px;
  top: 6px;
  background: var(--pb-primary);
  color: #fff;
  padding: 8px 16px;
  border-radius: 4px;
}

#post-219, #post-3{
  width: 64%;
  display: block;  
  margin: 0 auto; 
}

.pb-brand-name{
    display:none;
}