/*
Theme Name: Black Gold Farmhouse V5
Theme URI: https://blackgoldfarmhouse.com
Author: Black Gold Farmhouse
Author URI: https://blackgoldfarmhouse.com
Description: Karachi's Premier Luxury Private Retreat - Native WordPress Theme with WhatsApp booking integration, luxury dark & gold aesthetic, responsive gallery with lightbox, interactive packages, full customizer options, 14 custom Elementor widgets, and native Elementor visual builder support.
Version: 5.2.0
Requires at least: 5.8
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: blackgold-farmhouse
Tags: luxury, dark, responsive, custom-logo, custom-menu, translation-ready, theme-options

This theme was built as a clean, high-performance native WordPress theme
emulating the bespoke Next.js luxury retreat experience.
*/

/* Baseline WordPress Core Alignments & Accessibility */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.alignleft {
  float: left;
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  float: right;
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

/* Black Gold Farmhouse — WordPress compatibility baseline */
html { background:#0a0704; }
body { margin:0; min-height:100%; background:#0a0704; color:#fbfaf8; }
img { max-width:100%; height:auto; }
svg { display:inline-block; vertical-align:middle; overflow:visible; }
button, input, select, textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
#wpadminbar { z-index:99999; }

/* Core layout fallbacks used by the converted templates */
.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}
.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.w-full{width:100%}.h-full{height:100%}.mx-auto{margin-left:auto;margin-right:auto}
.overflow-hidden{overflow:hidden}.text-center{text-align:center}.object-cover{object-fit:cover}
.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
@media (min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}


/* V2 guaranteed layout primitives */
.max-w-7xl{max-width:80rem}.max-w-4xl{max-width:56rem}.max-w-2xl{max-width:42rem}.px-4{padding-left:1rem;padding-right:1rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-28{padding-top:7rem;padding-bottom:7rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.text-white{color:#fff}.text-center{text-align:center}.text-sm{font-size:.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-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.font-light{font-weight:300}.uppercase{text-transform:uppercase}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.leading-relaxed{line-height:1.625}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-white\/10{border-color:rgb(255 255 255 / .1)}.border-\[\#d4af37\]\/15{border-color:rgb(212 175 55 / .15)}.bg-\[\#0a0704\]{background:#0a0704}.bg-\[\#0e0a06\]{background:#0e0a06}.text-\[\#d4af37\]{color:#d4af37}.relative{position:relative}.absolute{position:absolute}.inset-0{inset:0}.z-0{z-index:0}.z-10{z-index:10}.w-full{width:100%}.h-full{height:100%}.object-cover{object-fit:cover}.opacity-25{opacity:.25}.overflow-hidden{overflow:hidden}.block{display:block}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.flex-col{flex-direction:column}.flex{display:flex}
@media(min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:h-14{height:3.5rem}.sm\:w-44{width:11rem}}
@media(min-width:768px){.md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:py-36{padding-top:9rem;padding-bottom:9rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:flex{display:flex}.md\:hidden{display:none}}
@media(min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}}


/* Critical visibility fix: Tailwind utility ordering can make .flex override .hidden.
   Modals/drawers that start with both classes must remain hidden until JavaScript opens them. */
.hidden { display: none !important; }
@media (min-width: 640px) {
  .sm\:hidden { display: none !important; }
  .sm\:flex { display: flex !important; }
}
@media (min-width: 768px) {
  .md\:hidden { display: none !important; }
  .md\:flex { display: flex !important; }
}
@media (min-width: 1024px) {
  .lg\:hidden { display: none !important; }
  .lg\:flex { display: flex !important; }
}


/* Black Gold Farmhouse V4 — layout isolation from WordPress/plugin styles */
html, body { width:100% !important; max-width:none !important; }
*, *::before, *::after { box-sizing:border-box; }
body { overflow-x:hidden; }
body > main { width:100% !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
body > header, body > #mobile-drawer { width:100%; max-width:none; }
/* Tailwind-style page containers: always occupy the available row, then cap at the intended desktop width. */
main .max-w-7xl { width:100% !important; max-width:80rem !important; margin-left:auto !important; margin-right:auto !important; }
main .max-w-4xl { width:100% !important; max-width:56rem !important; margin-left:auto !important; margin-right:auto !important; }
main .max-w-3xl { width:100% !important; max-width:48rem !important; margin-left:auto !important; margin-right:auto !important; }
main .max-w-2xl { width:100% !important; max-width:42rem !important; margin-left:auto !important; margin-right:auto !important; }
main .grid { width:100% !important; }
main img { max-width:100%; }
/* Prevent WordPress editor/theme rules from constraining native template sections. */
main section { max-width:none; }
main section > .max-w-7xl,
main section > .max-w-4xl,
main section > .max-w-3xl,
main section > .max-w-2xl { margin-inline:auto !important; }
/* Correct responsive 12-column experience layout even if another stylesheet changes grid rules. */
main .lg\:grid-cols-12 { grid-template-columns:repeat(12,minmax(0,1fr)) !important; }
main .lg\:col-span-5 { grid-column:span 5 / span 5 !important; }
main .lg\:col-span-6 { grid-column:span 6 / span 6 !important; }
main .lg\:col-span-7 { grid-column:span 7 / span 7 !important; }
@media (max-width:1023px) {
  main .lg\:grid-cols-12 { grid-template-columns:1fr !important; }
  main .lg\:col-span-5, main .lg\:col-span-6, main .lg\:col-span-7 { grid-column:span 1 / span 1 !important; }
}


/* =========================================================
   Black Gold Farmhouse V5 — Section & Vertical Spacing Fix
   Ensures the original generous luxury spacing survives
   WordPress/theme/plugin CSS resets.
   ========================================================= */

/* Vertical section spacing */
main section.py-12 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
main section.py-16 { padding-top: 4rem !important; padding-bottom: 4rem !important; }
main section.py-20 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
main section.py-24 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
main section.py-28 { padding-top: 7rem !important; padding-bottom: 7rem !important; }
main section.py-32 { padding-top: 8rem !important; padding-bottom: 8rem !important; }
main section.py-36 { padding-top: 9rem !important; padding-bottom: 9rem !important; }

@media (min-width: 768px) {
  main section.md\:py-20 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
  main section.md\:py-24 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
  main section.md\:py-28 { padding-top: 7rem !important; padding-bottom: 7rem !important; }
  main section.md\:py-32 { padding-top: 8rem !important; padding-bottom: 8rem !important; }
  main section.md\:py-36 { padding-top: 9rem !important; padding-bottom: 9rem !important; }
}

/* Inner content spacing used by the page templates */
main .space-y-10 > :not([hidden]) ~ :not([hidden]) { margin-top: 2.5rem !important; }
main .space-y-24 > :not([hidden]) ~ :not([hidden]) { margin-top: 6rem !important; }

/* Common vertical spacing utilities that may be missing from
   the converted Tailwind output or overridden by WordPress. */
main .mt-12 { margin-top: 3rem !important; }
main .mb-10 { margin-bottom: 2.5rem !important; }
main .mb-12 { margin-bottom: 3rem !important; }
main .mb-14 { margin-bottom: 3.5rem !important; }
main .mb-16 { margin-bottom: 4rem !important; }
main .sm\:mb-20 { margin-bottom: 5rem !important; }

main .pt-20 { padding-top: 5rem !important; }
main .pt-24 { padding-top: 6rem !important; }
main .pt-28 { padding-top: 7rem !important; }
main .pb-10 { padding-bottom: 2.5rem !important; }
main .pb-12 { padding-bottom: 3rem !important; }
main .pb-16 { padding-bottom: 4rem !important; }

/* Grid gaps — retain the spacious desktop composition */
main .gap-12 { gap: 3rem !important; }
main .lg\:gap-16 { gap: 4rem !important; }

@media (min-width: 1024px) {
  main .lg\:gap-8 { gap: 2rem !important; }
  main .lg\:gap-16 { gap: 4rem !important; }
}

/* Never collapse adjacent major sections because of margin-collapsing
   or generic WordPress section rules. */
main > section {
  display: block;
  width: 100%;
  position: relative;
}

/* Page-template sections should retain clear separation even when
   a plugin/theme applies a zero-padding reset. */
main > section + section {
  border-top-width: 0;
}

/* Preserve the footer's natural separation from page content. */
main + footer {
  margin-top: 0 !important;
}
