/*
  tailwind.css — William Windsor Ranches, LLC
  Purged production build: only classes used across index.html,
  About.html, Products.html, and Order.html are included.
  Replaces cdn.tailwindcss.com — saves ~290KB per page load.
  Generated: 2026-03
*/

/* ── 1. Base reset & box-sizing ─────────────────────────────── */
*, ::before, ::after { box-sizing: border-box; border-width: 0; border-style: solid; border-color: #e5e7eb; }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; tab-size: 4; font-family: ui-sans-serif, system-ui, sans-serif; }
body { margin: 0; line-height: inherit; }
h1,h2,h3,h4,h5,h6 { font-size: inherit; font-weight: inherit; }
a { color: inherit; text-decoration: inherit; }
b, strong { font-weight: bolder; }
code { font-family: ui-monospace, monospace; font-size: 1em; }
img, svg, video { display: block; vertical-align: middle; }
img, video { max-width: 100%; height: auto; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; font-weight: inherit; line-height: inherit; color: inherit; margin: 0; padding: 0; }
button, select { text-transform: none; }
button, [type='button'], [type='reset'], [type='submit'] { -webkit-appearance: button; background-color: transparent; background-image: none; }
:-moz-focusring { outline: auto; }
:-moz-ui-invalid { box-shadow: none; }
progress { vertical-align: baseline; }
::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; }
::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
summary { display: list-item; }
blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre { margin: 0; }
fieldset { margin: 0; padding: 0; }
legend { padding: 0; }
ol, ul, menu { list-style: none; margin: 0; padding: 0; }
textarea { resize: vertical; }
input::placeholder, textarea::placeholder { opacity: 1; color: #9ca3af; }
button, [role="button"] { cursor: pointer; }
:disabled { cursor: default; }
table { text-indent: 0; border-color: inherit; border-collapse: collapse; }

/* ── 2. antialiased ─────────────────────────────────────────── */
.antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* ── 3. Layout utilities ─────────────────────────────────────── */
.sticky   { position: sticky; }
.top-0    { top: 0; }
.z-50     { z-index: 50; }
.hidden   { display: none; }
.block    { display: block; }
.flex     { display: flex; }
.inline-block { display: inline-block; }
.grid     { display: grid; }
.overflow-hidden { overflow: hidden; }

/* ── 4. Flexbox ──────────────────────────────────────────────── */
.flex-1       { flex: 1 1 0%; }
.flex-col     { flex-direction: column; }
.flex-row     { flex-direction: row; }
.items-center { align-items: center; }
.items-start  { align-items: flex-start; }
.items-end    { align-items: flex-end; }
.justify-center  { justify-content: center; }
.justify-between { justify-content: space-between; }

/* ── 5. Grid ─────────────────────────────────────────────────── */
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* ── 6. Gap ──────────────────────────────────────────────────── */
.gap-2  { gap: 0.5rem; }
.gap-3  { gap: 0.75rem; }
.gap-4  { gap: 1rem; }
.gap-8  { gap: 2rem; }
.gap-12 { gap: 3rem; }

/* ── 7. Space (child margins) ────────────────────────────────── */
.space-x-8  > :not([hidden]) ~ :not([hidden]) { margin-left: 2rem; }
.space-y-2  > :not([hidden]) ~ :not([hidden]) { margin-top: 0.5rem; }
.space-y-3  > :not([hidden]) ~ :not([hidden]) { margin-top: 0.75rem; }
.space-y-4  > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem; }
.space-y-5  > :not([hidden]) ~ :not([hidden]) { margin-top: 1.25rem; }
.space-y-6  > :not([hidden]) ~ :not([hidden]) { margin-top: 1.5rem; }

/* ── 8. Max-width ────────────────────────────────────────────── */
.max-w-xs  { max-width: 20rem; }
.max-w-md  { max-width: 28rem; }
.max-w-lg  { max-width: 32rem; }
.max-w-xl  { max-width: 36rem; }
.max-w-3xl { max-width: 48rem; }
.max-w-4xl { max-width: 56rem; }
.max-w-5xl { max-width: 64rem; }
.max-w-6xl { max-width: 72rem; }
.max-w-7xl { max-width: 80rem; }

/* ── 9. Width / Height ───────────────────────────────────────── */
.w-full  { width: 100%; }
.w-auto  { width: auto; }
.w-16    { width: 4rem; }
.h-16    { height: 4rem; }

/* ── 10. Margin ──────────────────────────────────────────────── */
.mx-auto { margin-left: auto; margin-right: auto; }
.mb-0    { margin-bottom: 0; }
.mb-1    { margin-bottom: 0.25rem; }
.mb-2    { margin-bottom: 0.5rem; }
.mb-3    { margin-bottom: 0.75rem; }
.mb-4    { margin-bottom: 1rem; }
.mb-6    { margin-bottom: 1.5rem; }
.mb-8    { margin-bottom: 2rem; }
.mb-12   { margin-bottom: 3rem; }
.mb-16   { margin-bottom: 4rem; }
.mt-1    { margin-top: 0.25rem; }
.mt-2    { margin-top: 0.5rem; }
.mt-3    { margin-top: 0.75rem; }
.mt-4    { margin-top: 1rem; }
.mt-6    { margin-top: 1.5rem; }
.mt-12   { margin-top: 3rem; }

/* ── 11. Padding ─────────────────────────────────────────────── */
.p-4   { padding: 1rem; }
.p-6   { padding: 1.5rem; }
.p-10  { padding: 2.5rem; }
.pb-3  { padding-bottom: 0.75rem; }
.pb-4  { padding-bottom: 1rem; }
.pb-8  { padding-bottom: 2rem; }
.pt-4  { padding-top: 1rem; }
.pt-12 { padding-top: 3rem; }
.px-5  { padding-left: 1.25rem; padding-right: 1.25rem; }
.px-8  { padding-left: 2rem; padding-right: 2rem; }
.px-10 { padding-left: 2.5rem; padding-right: 2.5rem; }
.py-3  { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-4  { padding-top: 1rem; padding-bottom: 1rem; }
.py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.py-14 { padding-top: 3.5rem; padding-bottom: 3.5rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }
.py-20 { padding-top: 5rem; padding-bottom: 5rem; }

/* ── 12. Border ──────────────────────────────────────────────── */
.border      { border-width: 1px; }
.border-t    { border-top-width: 1px; }
.border-b    { border-bottom-width: 1px; }
.border-y    { border-top-width: 1px; border-bottom-width: 1px; }
.border-neutral-200  { border-color: #e5e7eb; }
.border-amber-100    { border-color: #fef3c7; }
.border-amber-200    { border-color: #fde68a; }
.border-amber-800    { border-color: #92400e; }

/* ── 13. Border radius ───────────────────────────────────────── */
.rounded-full { border-radius: 9999px; }
.rounded-2xl  { border-radius: 1rem; }
.rounded-3xl  { border-radius: 1.5rem; }

/* ── 14. Background colours ──────────────────────────────────── */
.bg-\[\#1a1a1a\] { background-color: #1a1a1a; }
.bg-\[\#2a2a2a\] { background-color: #2a2a2a; }
.bg-\[\#f9f9f9\] { background-color: #f9f9f9; }
.bg-amber-50     { background-color: #fffbeb; }
.bg-amber-100    { background-color: #fef3c7; }

/* ── 15. Text colour ─────────────────────────────────────────── */
.text-white       { color: #ffffff; }
.text-amber-700   { color: #b45309; }
.text-neutral-400 { color: #9ca3af; }
.text-neutral-500 { color: #6b7280; }
.text-neutral-600 { color: #4b5563; }
.text-neutral-700 { color: #374151; }
.text-gray-300    { color: #d1d5db; }
.text-gray-400    { color: #9ca3af; }
.hover\:text-amber-700:hover { color: #b45309; }

/* ── 16. Font size ───────────────────────────────────────────── */
.text-xs   { font-size: 0.75rem;  line-height: 1rem; }
.text-sm   { font-size: 0.875rem; line-height: 1.25rem; }
.text-base { font-size: 1rem;     line-height: 1.5rem; }
.text-lg   { font-size: 1.125rem; line-height: 1.75rem; }
.text-xl   { font-size: 1.25rem;  line-height: 1.75rem; }
.text-2xl  { font-size: 1.5rem;   line-height: 2rem; }
.text-3xl  { font-size: 1.875rem; line-height: 2.25rem; }
.text-4xl  { font-size: 2.25rem;  line-height: 2.5rem; }
.text-5xl  { font-size: 3rem;     line-height: 1; }

/* ── 17. Font weight ─────────────────────────────────────────── */
.font-medium   { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold     { font-weight: 700; }
.font-black    { font-weight: 900; }

/* ── 18. Text utilities ──────────────────────────────────────── */
.text-center  { text-align: center; }
.text-left    { text-align: left; }
.uppercase    { text-transform: uppercase; }
.italic       { font-style: italic; }
.underline    { text-decoration-line: underline; }
.leading-relaxed  { line-height: 1.625; }
.leading-\[1\.1\] { line-height: 1.1; }
.tracking-tight   { letter-spacing: -0.025em; }
.tracking-wider   { letter-spacing: 0.05em; }

/* ── 19. Transition ──────────────────────────────────────────── */
.transition { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }

/* ── 20. Responsive: md (768px+) ─────────────────────────────── */
@media (min-width: 768px) {
  .md\:flex        { display: flex; }
  .md\:hidden      { display: none; }
  .md\:flex-row    { flex-direction: row; }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .md\:p-16        { padding: 4rem; }
  .md\:px-10       { padding-left: 2.5rem; padding-right: 2.5rem; }
  .md\:px-12       { padding-left: 3rem; padding-right: 3rem; }
  .md\:px-16       { padding-left: 4rem; padding-right: 4rem; }
  .md\:py-16       { padding-top: 4rem; padding-bottom: 4rem; }
  .md\:text-2xl    { font-size: 1.5rem;  line-height: 2rem; }
  .md\:text-4xl    { font-size: 2.25rem; line-height: 2.5rem; }
  .md\:text-5xl    { font-size: 3rem;    line-height: 1; }
  .md\:text-6xl    { font-size: 3.75rem; line-height: 1; }
  .md\:text-7xl    { font-size: 4.5rem;  line-height: 1; }
}

/* ── 21. Responsive: sm (640px+) ─────────────────────────────── */
@media (min-width: 640px) {
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ── 22. Responsive: lg (1024px+) ────────────────────────────── */
@media (min-width: 1024px) {
  .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}