/*
Theme Name: BJM - PERRY VENUE THEME
Theme URI: https://moonlithub.com/
Author: Moonlit Hub
Description: Client venue website theme for Perry Venue. Built and maintained by Moonlit Hub.
Version: 1.7.1
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: perry-venue
*/
:root{--pv-blue:#1167b1;--pv-gold:#e3a329;--pv-ink:#121722;--pv-cream:#fff9ee;--pv-max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--pv-ink);background:#fff;line-height:1.6}a{color:var(--pv-blue)}img{max-width:100%;height:auto}.wrap{width:min(var(--pv-max),calc(100% - 36px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid #ddd}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.brand{font-weight:900;font-size:1.35rem;text-decoration:none;color:var(--pv-ink)}.custom-logo{max-height:64px;width:auto}.site-nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}.site-nav a{text-decoration:none;font-weight:750}.hero{min-height:68vh;display:grid;place-items:center;text-align:center;color:white;background:linear-gradient(135deg,#101722dd,#1167b1cc),var(--hero-image,none) center/cover no-repeat;padding:80px 0}.hero h1{font-size:clamp(2.5rem,7vw,5.5rem);line-height:1;margin:.1em 0}.hero p{font-size:clamp(1.1rem,2vw,1.45rem);max-width:760px;margin:20px auto}.button{display:inline-block;background:var(--pv-gold);color:#111;text-decoration:none;font-weight:900;padding:14px 24px;border-radius:999px;border:0;cursor:pointer}.section{padding:72px 0}.section.alt{background:var(--pv-cream)}.section h2{font-size:clamp(2rem,4vw,3rem);margin-top:0}.event-grid,.gallery-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid #ddd;border-radius:18px;padding:24px;background:#fff}.gallery-preview img{aspect-ratio:4/3;object-fit:cover;border-radius:14px}.cta{text-align:center}.pv-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pv-form .full{grid-column:1/-1}.pv-form label{font-weight:750}.pv-form input,.pv-form select,.pv-form textarea{width:100%;font:inherit;padding:12px;border:1px solid #aaa;border-radius:9px}.notice{padding:12px 16px;border-radius:9px;background:#eef7ee;margin-bottom:16px}.gallery-grid{columns:3 280px;column-gap:16px}.gallery-grid figure{break-inside:avoid;margin:0 0 16px}.gallery-grid img{width:100%;border-radius:12px}.site-footer{background:#101722;color:#fff;padding:34px 0}.site-footer a{color:#fff}.pv-board table{width:100%;border-collapse:collapse}.pv-board th,.pv-board td{padding:10px;border-bottom:1px solid #ddd;text-align:left}.pv-thread{border:1px solid #ddd;border-radius:12px;padding:18px;margin:16px 0}@media(max-width:760px){.header-inner{align-items:flex-start;padding:14px 0;flex-direction:column}.site-nav ul{flex-wrap:wrap}.event-grid,.gallery-preview,.pv-form{grid-template-columns:1fr}.pv-form .full{grid-column:auto}.section{padding:48px 0}}

.pv-bundled-logo{display:block;max-height:68px;width:auto}
.gallery-lead{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:28px;align-items:center}
.gallery-lead img{width:100%;max-height:460px;object-fit:cover;border-radius:18px}
@media(max-width:760px){.gallery-lead{grid-template-columns:1fr}.pv-bundled-logo{max-height:58px}}

.hero{min-height:76vh;background:linear-gradient(135deg,rgba(10,18,30,.76),rgba(17,103,177,.55)),var(--hero-image) center/cover no-repeat}
.hero-logo{width:min(760px,92%);max-height:300px;object-fit:contain;margin:0 auto 18px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.45))}
.hero h1{margin-top:0}.intro{text-align:center;max-width:850px}.section-heading{text-align:center;max-width:820px;margin:0 auto 34px}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;font-weight:900;color:var(--pv-blue)}
.event-grid{grid-template-columns:repeat(4,1fr)}.event-card{display:flex;align-items:center;gap:12px;background:white;border:1px solid #e4ded2;border-radius:14px;padding:17px;min-height:66px;box-shadow:0 4px 14px rgba(0,0,0,.04)}
.event-dot{width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:var(--pv-gold);box-shadow:0 0 0 4px rgba(227,163,41,.16)}
.cta{margin-top:34px;text-align:center}.home-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:14px}
.home-gallery a{overflow:hidden;border-radius:16px}.home-gallery .feature{grid-column:span 2;grid-row:span 2}.home-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.home-gallery a:hover img{transform:scale(1.025)}
.inquire{background:#fff}.pv-form{max-width:900px;margin:auto}
@media(max-width:900px){.event-grid{grid-template-columns:repeat(2,1fr)}.home-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.event-grid{grid-template-columns:1fr}.home-gallery{display:block}.home-gallery a{display:block;margin-bottom:12px}.home-gallery img{aspect-ratio:4/3}.hero-logo{max-height:220px}}

/* Perry Venue availability calendar */
.pv-cal-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.5rem 0}.pv-cal-nav h2{margin:0;text-align:center}
.pv-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.pv-cal-head{margin-bottom:6px;font-weight:800;text-align:center}
.pv-cal-head>div{padding:.55rem .2rem}.pv-cal-day,.pv-cal-blank{min-height:92px;border:1px solid rgba(0,0,0,.14);border-radius:10px;padding:.55rem;background:#fff}
.pv-cal-day{display:flex;flex-direction:column;justify-content:space-between}.pv-cal-num{font-weight:800;font-size:1.05rem}.pv-cal-state{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.pv-cal-day.is-booked{background:#f3e6e6}.pv-cal-day.is-open{background:#edf6ed}.pv-cal-disclaimer{margin-top:1rem;font-weight:650}
.pv-booking-manager table{width:100%;border-collapse:collapse}.pv-booking-manager th,.pv-booking-manager td{padding:.65rem;border-bottom:1px solid rgba(0,0,0,.15);text-align:left}
@media(max-width:700px){.pv-cal-grid{gap:2px}.pv-cal-day,.pv-cal-blank{min-height:62px;padding:.3rem}.pv-cal-state{font-size:.58rem}.pv-cal-head>div{font-size:.72rem}.pv-cal-nav{align-items:flex-end}.pv-cal-nav h2{font-size:1.35rem}}

/* Private Perry Venue staff dashboard */
.pv-staff-shell{min-height:70vh}.pv-staff-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.pv-staff-head h1{margin:.1em 0}.pv-staff-logout{font-weight:800}.pv-staff-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #ddd;margin-bottom:24px}
.pv-staff-tabs a{display:inline-block;padding:12px 18px;text-decoration:none;font-weight:850;border-radius:10px 10px 0 0}
.pv-staff-tabs a.active{background:var(--pv-blue);color:#fff}.pv-staff-panel{background:#fff;border:1px solid #ddd;border-radius:16px;padding:22px}
@media(max-width:650px){.pv-staff-head{align-items:flex-start;flex-direction:column}.pv-staff-panel{padding:14px}.pv-staff-tabs a{padding:10px 12px}}

.pv-staff-admin-tip{padding:14px 16px;margin:0 0 18px;border:1px solid #d9c68c;border-radius:12px;background:#fff9e8}

/* Perry Venue event + chicken promotions */
.pv-promo-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(300px,1.15fr);gap:42px;align-items:center}
.pv-promo-art{text-align:center}.pv-promo-art img{display:block;width:min(100%,480px);height:auto;margin:auto}


@media(max-width:760px){.pv-promo-grid{grid-template-columns:1fr;gap:22px}.pv-promo-art img{max-width:360px}}

/* Conservative promo graphic sizing */
.pv-promo-grid{grid-template-columns:240px minmax(0,1fr);gap:34px;max-width:980px;margin-inline:auto}
.pv-promo-art img{width:100%;max-width:230px;margin-inline:auto}


@media(max-width:760px){
 .pv-promo-grid{grid-template-columns:1fr}
 .pv-promo-art img{max-width:210px}
 .pv-daily-art{max-width:560px}
}

/* Compact chicken promotion + inquiry layout */
.pv-chicken-inquiry-grid{display:grid;grid-template-columns:minmax(220px,36%) minmax(0,64%);gap:36px;align-items:start;max-width:1080px;margin-inline:auto}
.pv-chicken-column{min-width:0}.pv-chicken-column h2,.pv-quick-inquiry h2{margin-top:.2em}


.pv-quick-inquiry{min-width:0;padding:24px;border:1px solid #e2d7bd;border-radius:16px;background:#fff}
.pv-quick-inquiry form{margin-top:16px}
@media(max-width:780px){
 .pv-chicken-inquiry-grid{grid-template-columns:1fr;gap:26px}
 .pv-chicken-column .pv-daily-art{max-width:360px;margin-inline:auto}
 .pv-quick-inquiry{padding:18px}
}

/* v1.9.0: compact hero special + combined venue/inquiry */
.hero{position:relative}



.pv-venue-inquiry-grid{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);gap:34px;align-items:start}
.pv-venue-info-card,.pv-inquiry-card{background:#fff;border:1px solid #e2d7bd;border-radius:18px;padding:26px}
.pv-event-food-callout{display:grid;grid-template-columns:78px 1fr;gap:14px;align-items:center;background:#fff8e8;border:1px solid #ead49a;border-radius:13px;padding:12px;margin-bottom:20px}
.pv-event-food-callout img{display:block;width:78px;height:auto}.pv-event-food-callout h3{font-size:1.05rem;margin:0 0 3px}.pv-event-food-callout p{font-size:.92rem;line-height:1.4;margin:0}
@media(max-width:900px){.pv-venue-inquiry-grid{grid-template-columns:1fr}}
@media(max-width:620px){.pv-event-food-callout{grid-template-columns:62px 1fr}.pv-event-food-callout img{width:62px}}

/* v1.9.1 approved Venue Information + inquiry presentation */
.pv-venue-inquiry-wrap{max-width:1200px;margin-inline:auto}
.pv-venue-info-bar{background:#fff;border:1px solid #e2d7bd;border-radius:18px;padding:26px 28px;margin-bottom:16px}
.pv-venue-info-bar h2{margin:.15em 0 .1em}
.pv-info-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:22px}
.pv-info-item{display:grid;grid-template-columns:44px 1fr;gap:11px;align-items:start;padding:2px 22px;border-left:1px solid #e3d2aa}
.pv-info-item:first-child{border-left:0;padding-left:0}
.pv-info-icon{font-size:1.7rem;line-height:1;color:#b88619;text-align:center}
.pv-info-item strong{display:block;margin-bottom:3px}.pv-info-item p{margin:0;font-size:.94rem;line-height:1.4}
.pv-photo-form-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:16px;align-items:stretch}
.pv-inquiry-photo{min-height:680px;border-radius:18px;overflow:hidden;border:1px solid #e2d7bd;background:#111}
.pv-inquiry-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 50%}
.pv-photo-form-grid .pv-inquiry-card{height:100%;box-sizing:border-box}
.pv-photo-form-grid .pv-event-food-callout{margin-top:0}
@media(max-width:900px){
 .pv-info-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .pv-info-item,.pv-info-item:first-child{border-left:0;padding:0}
 .pv-photo-form-grid{grid-template-columns:1fr}
 .pv-inquiry-photo{min-height:430px}
}
@media(max-width:560px){
 .pv-info-items{grid-template-columns:1fr}
 .pv-inquiry-photo{min-height:330px}
}


/* v1.0.1 — Check Availability page containment */
.pv-availability-page .pv-availability-wrap{
  width:min(1420px,calc(100% - 72px));
  margin-inline:auto;
}
.pv-availability-page .pv-availability-intro{
  max-width:900px;
  margin-bottom:28px;
}
.pv-availability-page .pv-cal-nav{
  padding-inline:4px;
}
.pv-availability-page .pv-cal-grid{
  width:100%;
}
.pv-availability-page .pv-inquiry-wrap{
  width:min(1180px,calc(100% - 72px));
  margin-inline:auto;
}
@media(max-width:760px){
  .pv-availability-page .pv-availability-wrap,
  .pv-availability-page .pv-inquiry-wrap{
    width:min(100% - 32px,1420px);
  }
}

/* v1.0.2 — venue contact details */
.pv-contact-details{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;margin-top:18px}
.pv-contact-details a{font-weight:700;text-decoration:none}
.pv-contact-details a:hover{text-decoration:underline}
.site-footer .pv-contact-details{justify-content:center;margin:10px auto 0}
.site-footer .pv-contact-details a{color:inherit}

/* v1.0.3 — iPad/tablet inquiry form fix */
@media (max-width:1024px){
 .pv-photo-form-grid{grid-template-columns:1fr}
 .pv-form{grid-template-columns:1fr}
 .pv-form .full{grid-column:auto}
 .pv-form>p{min-width:0;margin:0 0 16px}
 .pv-form input,.pv-form select,.pv-form textarea{min-width:0;max-width:100%}
}


/* v1.0.6 — tablet/iPad rule: inquiry form is always single-column.
   Desktop keeps the two-column form; tablet and smaller never do. */
@media (max-width:1180px){
  .pv-form{
    grid-template-columns:1fr !important;
  }
  .pv-form .full{
    grid-column:1 !important;
  }
  .pv-form > p{
    min-width:0;
  }
  .pv-form input,
  .pv-form select,
  .pv-form textarea{
    width:100%;
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }
}

/* At narrower tablet/portrait widths, stack the photo and form as well. */
@media (max-width:1024px){
  .pv-photo-form-grid{
    grid-template-columns:1fr !important;
  }
}


/* v1.0.7 — iPad/iOS Safari date input overflow fix.
   Keep the v1.0.6 single-column tablet layout unchanged. */
@media (max-width:1180px){
  .pv-form input[type="date"]{
    display:block;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    -webkit-appearance:none;
    appearance:none;
  }
}


/* v1.0.10 — one uniform height for every single-line inquiry control.
   Textarea is intentionally excluded. */
.pv-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.pv-form select{
  height:48px !important;
  min-height:48px !important;
  max-height:48px !important;
  padding:0 14px !important;
  line-height:48px !important;
  box-sizing:border-box !important;
  font:inherit;
}

/* Safari/iPad date control: same box as every other single-line field. */
.pv-form input[type="date"]{
  height:48px !important;
  min-height:48px !important;
  max-height:48px !important;
  padding:0 14px !important;
  line-height:48px !important;
  box-sizing:border-box !important;
}

/* Multiline message box keeps its intended independent height. */
.pv-form textarea{
  height:auto !important;
  min-height:unset;
  max-height:none;
  line-height:1.5;
}

/* v1.1.0 operations */
.pv-site-banner{padding:10px 18px;text-align:center;font-weight:850}.pv-site-banner a{margin-left:14px;color:inherit}.pv-judy-help{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#f7fbff;border:1px solid #d8e6f4;border-radius:16px;padding:16px 18px;margin:0 0 22px}.pv-judy-help img{width:110px;max-height:120px;object-fit:contain}.pvi-ops-title{display:flex;align-items:center;gap:12px}.pvi-count{background:#c00;color:#fff;border-radius:999px;padding:3px 9px;font-weight:900}.pvi-inquiry{border:1px solid #ddd;border-radius:12px;margin:12px 0;background:#fff}.pvi-inquiry.is-new{border-left:6px solid #c00}.pvi-inquiry summary{display:flex;justify-content:space-between;gap:15px;padding:15px;font-weight:850;cursor:pointer}.pvi-inquiry-body{padding:0 16px 18px}.pvi-facts,.pvi-grid,.pv-color-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pvi-grid label,.pv-owner-card label{display:block;font-weight:750}.pvi-grid input,.pvi-grid select,.pv-owner-card input,.pv-owner-card select,.pv-owner-card textarea{width:100%;padding:10px;border:1px solid #aaa;border-radius:8px}.pvi-alert{padding:12px;border-radius:8px;margin:10px 0}.pvi-alert.success,.pvi-booked{background:#e9f7ed}.pvi-alert.error{background:#fff0f0}.pv-owner-card{background:#fff;border:1px solid #ddd;border-radius:14px;padding:18px;margin:18px 0}.pv-helper{background:#fff8dd;padding:10px;border-radius:8px}.pv-swatch{border:1px solid #777;border-left:22px solid var(--swatch);padding:6px 10px;background:#fff}.pv-featured-news{max-width:920px;margin:0 auto 24px;border:2px solid var(--pv-gold);border-radius:18px;padding:26px;background:#fff}.pv-news-layout{display:grid;gap:20px}.pv-news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pv-news-grid.pv-news-count-2{grid-template-columns:repeat(2,minmax(0,360px));justify-content:center}.pv-news-masonry{columns:3 280px;display:block}.pv-news-masonry .pv-news-card{break-inside:avoid;margin-bottom:20px}.pv-news-list{grid-template-columns:1fr}.pv-news-card{border:1px solid #ddd;border-radius:14px;padding:18px;background:#fff}.pv-news-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px}.pv-owner-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.pv-owner-quick a{padding:16px;border:1px solid #ddd;border-radius:12px;text-decoration:none;font-weight:800}.pv-badge-red{display:inline-block;background:#c00;color:#fff;border-radius:999px;min-width:24px;text-align:center;padding:2px 7px}.pv-staff-tabs a{display:inline-block;margin:0 6px 8px 0;padding:10px 14px;border-radius:9px;background:#eef4fb;text-decoration:none;font-weight:800}.pv-staff-tabs a.active{background:#1167b1;color:#fff}@media(max-width:900px){.pv-news-layout,.pv-news-grid,.pv-news-grid.pv-news-count-2,.pvi-grid,.pvi-facts,.pv-color-row,.pv-owner-quick{grid-template-columns:1fr!important}.pv-news-masonry{columns:1}.pv-judy-help img{width:85px}}
/* v1.4.1 integration repairs */
.pv-site-banner{width:100%;box-sizing:border-box;display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;position:relative;z-index:20}.pv-site-banner a{font-weight:900;text-decoration:underline}.pv-featured-news>img{width:100%;max-height:420px;object-fit:cover;border-radius:12px;margin-bottom:18px}.pv-single-wrap{max-width:1000px}.pv-single-featured img{width:100%;height:auto;border-radius:16px}.pv-single-content{font-size:1.08rem;line-height:1.75}.pv-single-content img{max-width:100%;height:auto}.pv-help-center details{background:#fff;border:1px solid #ddd;border-radius:10px;padding:12px 14px;margin:10px 0}.pv-help-center summary{font-weight:850;cursor:pointer}.pv-help-center dd{margin:0 0 12px 0}.pv-owner-card>label{margin:10px 0}.pv-owner-card select{min-height:44px}
@media(max-width:900px){.pv-site-banner{padding:12px 16px}.pv-news-layout,.pv-news-grid,.pv-news-grid.pv-news-count-2{grid-template-columns:1fr!important}.pv-news-masonry{columns:1!important}}
\n/* v1.5.1 expanded Help & FAQ */
.pv-help-search{display:block;max-width:720px;margin:18px 0 22px}.pv-help-search input{display:block;width:100%;margin-top:7px;padding:12px 14px;border:1px solid #b9c2cc;border-radius:9px;font:inherit}.pv-help-item{border:1px solid #dde2e7;border-radius:10px;margin:10px 0;background:#fff}.pv-help-item summary{cursor:pointer;font-weight:800;padding:14px 16px}.pv-help-answer{padding:0 16px 14px}.pv-help-divider{margin:38px 0;border:0;border-top:1px solid #dfe4e8}.pv-glossary{margin:0}.pv-glossary-item{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:18px;padding:12px 0;border-bottom:1px solid #e6e9ec}.pv-glossary-item dd{margin:0}@media(max-width:700px){.pv-glossary-item{grid-template-columns:1fr;gap:3px}}

/* v1.6.0 plain-language Help Center */
.pv-help-center{max-width:1100px}.pv-help-intro{margin-bottom:18px}.pv-help-search-main{max-width:none;background:#f5f9ff;border:2px solid #b7d8f4;border-radius:14px;padding:16px}.pv-help-search-main strong{font-size:1.15rem}.pv-help-search-main span{display:block;margin-top:7px;color:#4b5563}.pv-help-search-main input{font-size:1.05rem;background:#fff}.pv-help-section{margin:30px 0}.pv-help-section>h3{font-size:1.35rem;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #e8eef5}.pv-help-item summary{font-size:1.02rem}.pv-help-answer{line-height:1.65}.pv-help-answer ol{margin:10px 0 4px 24px}.pv-help-answer li{margin:7px 0}.pv-help-what{background:#fff8dd;border-radius:8px;padding:10px 12px}.pv-help-no-results{background:#fff4e5;border:1px solid #f0bd75;border-radius:10px;padding:14px;margin:15px 0}.pv-glossary-section{margin-top:34px}.pv-judy-final{margin:38px 0 8px;background:#f7fbff;border:2px solid #c9e0f5;border-radius:16px;padding:20px}.pv-judy-final h2{margin-top:0}.pv-help-item[hidden],.pv-glossary-item[hidden],.pv-help-section[hidden]{display:none!important}


/* v1.6.1 Help Center search layout patch */
.pv-help-search-main{display:block!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;line-height:normal!important;box-sizing:border-box!important;overflow:visible!important}
.pv-help-search-main label{display:block!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;line-height:1.4!important;background:transparent!important;border:0!important}
.pv-help-search-main input[type=search]{display:block!important;width:100%!important;height:auto!important;min-height:48px!important;margin:10px 0 0!important;padding:12px 14px!important;line-height:1.4!important;box-sizing:border-box!important}
.pv-help-search-main .pv-help-search-note{display:block!important;margin:8px 0 0!important;padding:0!important;line-height:1.5!important;color:#4b5563!important}
