/*
Theme Name: Panhandle Package Liquors
Theme URI: https://panhandlepackage.com/
Author: Custom Build
Description: Custom responsive WordPress theme for Panhandle Package Liquors. Includes branded hero imagery, store information, selection cards, dedicated team section, local brewery brands, and subtle scroll/hover animation.
Version: 2.4.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: panhandle-package
*/

:root {
  --pp-burgundy: #650b18;
  --pp-burgundy-2: #8e1527;
  --pp-gold: #d6ad55;
  --pp-gold-light: #f2cf7a;
  --pp-ink: #12100e;
  --pp-charcoal: #171512;
  --pp-charcoal-2: #211d18;
  --pp-cream: #f7f1e4;
  --pp-paper: #fffaf0;
  --pp-white: #fff;
  --pp-muted: #c8c0b3;
  --pp-width: 1220px;
  --pp-radius: 14px;
  --pp-shadow: 0 18px 50px rgba(0,0,0,.26);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #0d0c0b;
  color: var(--pp-white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }

.pp-container { width: min(calc(100% - 42px), var(--pp-width)); margin: 0 auto; }
.pp-section { position: relative; padding: 82px 0; }
.pp-serif { font-family: Georgia, "Times New Roman", serif; }
.pp-kicker {
  color: var(--pp-gold-light);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .28em;
  text-transform: uppercase;
}
.pp-section-heading { text-align: center; margin: 0 auto 34px; max-width: 850px; }
.pp-section-heading h2 {
  margin: 8px 0 8px;
  font: 700 clamp(2rem, 4vw, 3.4rem)/1.06 Georgia, "Times New Roman", serif;
}
.pp-section-heading p { margin: 0; color: #ded6cb; }
.pp-rule {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}
.pp-rule::before, .pp-rule::after {
  content: "";
  width: 70px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--pp-gold), transparent);
}

.pp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 22px;
  border: 1px solid rgba(242,207,122,.72);
  border-radius: 6px;
  background: linear-gradient(180deg, var(--pp-burgundy-2), var(--pp-burgundy));
  color: #fff;
  font-weight: 800;
  letter-spacing: .03em;
  box-shadow: 0 8px 20px rgba(0,0,0,.22), inset 0 1px rgba(255,255,255,.08);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, filter .25s ease;
}
.pp-btn:hover, .pp-btn:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(0,0,0,.34), 0 0 0 1px rgba(242,207,122,.12);
  filter: brightness(1.08);
}
.pp-btn--gold {
  background: rgba(14,12,10,.62);
  color: var(--pp-gold-light);
  border-color: var(--pp-gold);
}

/* Header */
.pp-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  border-bottom: 1px solid rgba(214,173,85,.24);
  background: linear-gradient(180deg, rgba(8,6,5,.92) 0%, rgba(8,6,5,.62) 58%, rgba(8,6,5,.18) 86%, transparent 100%);
  -webkit-backdrop-filter: blur(1.5px);
  backdrop-filter: blur(1.5px);
}
.pp-header-inner {
  min-height: 112px;
  display: grid;
  grid-template-columns: 220px 1fr auto;
  gap: 28px;
  align-items: center;
}
.pp-brand {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  align-self: stretch;
  background: transparent;
}
.pp-brand img,
.pp-brand .custom-logo {
  width: min(205px, 100%);
  max-height: 104px;
  object-fit: contain;
  background: transparent !important;
  border: 0;
  box-shadow: none;
  filter: drop-shadow(0 9px 18px rgba(0,0,0,.48));
  transform: none !important;
  animation: none !important;
  transition: filter .25s ease;
}
.pp-brand:hover img,
.pp-brand:focus-visible img {
  filter: drop-shadow(0 11px 22px rgba(0,0,0,.56));
}
.pp-nav { justify-self: end; }
.pp-nav ul { list-style: none; display: flex; gap: 32px; align-items: center; margin: 0; padding: 0; }
.pp-nav a {
  position: relative;
  display: block;
  padding: 12px 0;
  color: #fff;
  font-size: .92rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.pp-nav a::after {
  content: "";
  position: absolute;
  left: 50%; right: 50%; bottom: 5px;
  height: 2px;
  background: var(--pp-gold-light);
  transition: left .22s ease, right .22s ease;
}
.pp-nav a:hover::after, .pp-nav .current-menu-item > a::after { left: 0; right: 0; }
.pp-header-phone { white-space: nowrap; }
.pp-menu-toggle {
  display: none;
  width: 44px; height: 44px;
  border: 1px solid rgba(214,173,85,.55);
  border-radius: 8px;
  background: rgba(0,0,0,.4);
  color: #fff;
  font-size: 1.2rem;
}

/* Hero */
.pp-hero {
  position: relative;
  min-height: 760px;
  display: flex;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  background: #120f0c;
}
.pp-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -4;
  background-image: var(--pp-hero-image);
  background-size: cover;
  background-position: center;
  transform: scale(1.035);
  animation: pp-hero-breathe 16s ease-in-out infinite alternate;
}
@keyframes pp-hero-breathe { from { transform: scale(1.035); } to { transform: scale(1.09); } }
.pp-hero--video::before {
  animation: none;
  transform: scale(1.02);
}

.pp-hero-video {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  background: #120f0c;
  transform: translateZ(0);
  backface-visibility: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .pp-hero-video { display: none; }
}
.pp-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(8,7,6,.92) 0%, rgba(8,7,6,.74) 40%, rgba(8,7,6,.32) 69%, rgba(8,7,6,.42) 100%),
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.2) 58%, #0f0e0c 100%);
}
.pp-hero-content { padding: 170px 0 160px; width: min(720px, 65%); }
.pp-hero h1 {
  margin: 12px 0 18px;
  max-width: 680px;
  font: 700 clamp(3.1rem, 6.2vw, 5.9rem)/.94 Georgia, "Times New Roman", serif;
  letter-spacing: -.035em;
  text-shadow: 0 4px 22px rgba(0,0,0,.45);
}
.pp-hero-lede { margin: 0 0 18px; font-size: clamp(1.08rem, 2vw, 1.35rem); color: #f0ebe3; }
.pp-hero-contact { display: flex; flex-wrap: wrap; gap: 14px 30px; margin: 20px 0 26px; font-weight: 700; }
.pp-icon { color: var(--pp-gold-light); margin-right: 8px; }
.pp-hero-script {
  position: absolute;
  right: 5vw;
  bottom: 155px;
  width: 250px;
  text-align: center;
  color: var(--pp-gold-light);
  font: italic 2.6rem/1.02 Georgia, serif;
  transform: rotate(-7deg);
  text-shadow: 0 4px 16px rgba(0,0,0,.5);
}
.pp-scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 118px;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  gap: 7px;
  color: rgba(255,255,255,.76);
  font-size: .65rem;
  letter-spacing: .28em;
  text-transform: uppercase;
}
.pp-scroll-dot {
  width: 34px; height: 34px;
  display: grid; place-items: center;
  border: 1px solid var(--pp-gold);
  border-radius: 999px;
  animation: pp-bob 1.8s ease-in-out infinite;
}
@keyframes pp-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(6px); } }

/* Info cards */
.pp-info-wrap { margin-top: -92px; position: relative; z-index: 5; }
.pp-info-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pp-info-card {
  min-height: 250px;
  padding: 26px 24px 22px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid rgba(214,173,85,.62);
  border-radius: 8px;
  background:
    linear-gradient(rgba(20,17,14,.93), rgba(20,17,14,.93)),
    radial-gradient(circle at top, rgba(214,173,85,.15), transparent 56%);
  box-shadow: var(--pp-shadow);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.pp-info-card:hover {
  transform: translateY(-7px);
  border-color: var(--pp-gold-light);
  box-shadow: 0 22px 60px rgba(0,0,0,.42), 0 0 26px rgba(214,173,85,.08);
}
.pp-info-card .pp-big-icon { font-size: 2.3rem; color: var(--pp-gold-light); line-height: 1; margin-bottom: 10px; }
.pp-info-card h3 { margin: 0 0 9px; color: var(--pp-gold-light); font: 700 1.18rem Georgia, serif; text-transform: uppercase; }
.pp-info-card p { margin: 0 0 18px; max-width: 250px; font-size: 1rem; line-height: 1.42; color: #f7f3ed; }
.pp-info-card .pp-btn { width: min(100%, 210px); margin-top: auto; }
.pp-hours-list { width: 100%; max-width: 255px; display: grid; gap: 3px; margin: 1px auto 0; font-size: 1rem; }
.pp-hours-row { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: baseline; }
.pp-hours-row span:first-child { text-align: left; }
.pp-hours-row span:last-child { text-align: right; font-weight: 700; }

/* Selection */
.pp-selection {
  background:
    radial-gradient(circle at 15% 15%, rgba(214,173,85,.05), transparent 34%),
    linear-gradient(180deg, #12110f, #0b0a09);
}
.pp-selection-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pp-category {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  border: 1px solid rgba(214,173,85,.52);
  border-radius: 8px;
  background: #1a1713;
  box-shadow: 0 12px 30px rgba(0,0,0,.2);
  transition: transform .32s cubic-bezier(.2,.8,.2,1), box-shadow .32s ease, border-color .32s ease;
}
.pp-category:hover { transform: translateY(-8px) scale(1.01); box-shadow: 0 24px 50px rgba(0,0,0,.38); border-color: var(--pp-gold-light); }
.pp-category-media { position: absolute; inset: 0; }
.pp-category-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.pp-category:hover .pp-category-media img { transform: scale(1.07); }
.pp-category::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, transparent 26%, rgba(8,7,6,.45) 55%, rgba(8,7,6,.97) 100%); }
.pp-category-content { position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 18px; text-align: center; }
.pp-category h3 { margin: 0 0 5px; font: 700 1.45rem Georgia, serif; text-transform: uppercase; }
.pp-category p { margin: 0 auto 14px; max-width: 250px; line-height: 1.3; color: #f1ece4; }
.pp-category .pp-btn { width: 100%; min-height: 42px; padding: 10px 14px; }

/* Team */
.pp-team {
  background:
    linear-gradient(90deg, rgba(214,173,85,.055) 1px, transparent 1px) 0 0/52px 52px,
    var(--pp-paper);
  color: #1f1a16;
  border-top: 3px solid var(--pp-gold);
  border-bottom: 3px solid var(--pp-gold);
}
.pp-team::before, .pp-team::after { content:""; position:absolute; left:0; right:0; height:28px; pointer-events:none; }
.pp-team::before { top:0; background: linear-gradient(180deg, rgba(101,11,24,.08), transparent); }
.pp-team::after { bottom:0; background: linear-gradient(0deg, rgba(101,11,24,.08), transparent); }
.pp-team-header { text-align: center; margin-bottom: 34px; }
.pp-team-header .pp-kicker { color: #a4701f; }
.pp-team-header h2 { margin: 7px 0 0; font: 700 clamp(2.2rem, 4vw, 3.5rem)/1.08 Georgia, serif; }
.pp-team-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 46px; align-items: center; }
.pp-team-photo { position: relative; border: 1px solid rgba(164,112,31,.42); padding: 9px; background: #fff; box-shadow: 0 18px 40px rgba(74,47,16,.18); }
.pp-team-photo img { aspect-ratio: 3/2; object-fit: cover; }
.pp-team-copy { font-size: 1rem; }
.pp-team-copy p { margin: 0 0 14px; }
.pp-team-copy strong { color: var(--pp-burgundy); }
.pp-quote {
  position: relative;
  margin: 0 0 20px;
  padding: 16px 18px 16px 54px;
  border: 1px solid rgba(164,112,31,.28);
  border-radius: 8px;
  background: rgba(255,255,255,.64);
  font: italic 1rem/1.55 Georgia, serif;
}
.pp-quote::before { content: "“"; position: absolute; left: 16px; top: 1px; color: #c0872b; font: 700 3.4rem Georgia, serif; }
.pp-quote cite { display: block; margin-top: 7px; font: 700 .86rem Inter, sans-serif; color: #6a5847; }
.pp-team-bottom-quote { margin-top: 22px; border-top: 1px solid rgba(164,112,31,.34); padding-top: 15px; font: italic .98rem Georgia, serif; }

/* Brands */
.pp-brands { background: linear-gradient(180deg, #15120f, #0d0c0a); }
.pp-brand-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; align-items: center; }
.pp-brand-tile {
  min-height: 132px;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(214,173,85,.18);
  border-radius: 8px;
  transition: transform .28s ease, background .28s ease, border-color .28s ease;
}
.pp-brand-tile:hover { transform: translateY(-5px); background: rgba(255,255,255,.075); border-color: rgba(214,173,85,.55); }
.pp-brand-tile img { max-height: 90px; width: auto; max-width: 100%; object-fit: contain; }
.pp-brand-note { margin-top: 28px; text-align: center; color: var(--pp-gold-light); font: italic 1.6rem Georgia, serif; }

/* Content pages */
.pp-page-hero { padding: 150px 0 70px; background: linear-gradient(180deg, #17130f, #0e0c0a); border-bottom: 1px solid rgba(214,173,85,.25); }
.pp-page-hero h1 { margin: 0; font: 700 clamp(2.5rem, 5vw, 4.4rem)/1.04 Georgia, serif; }
.pp-content { background: var(--pp-paper); color: #222; padding: 70px 0; }
.pp-content article { max-width: 900px; margin: 0 auto; }
.pp-content a { color: var(--pp-burgundy); text-decoration: underline; }

/* Footer */
.pp-footer { background: linear-gradient(180deg, #18140f, #0a0908); border-top: 1px solid rgba(214,173,85,.32); }
.pp-footer-main { padding: 50px 0 36px; display: grid; grid-template-columns: 240px 1.2fr .8fr 1.4fr; gap: 28px; align-items: start; }
.pp-footer-logo img { width: 190px; }
.pp-footer-col { min-height: 118px; padding-left: 24px; border-left: 1px solid rgba(214,173,85,.22); }
.pp-footer-col h4 { margin: 0 0 10px; color: var(--pp-gold-light); font: 700 1rem Georgia, serif; text-transform: uppercase; }
.pp-footer-col p { margin: 0 0 8px; color: #eee7dd; }
.pp-footer-hours { display: grid; gap: 2px; font-size: .87rem; }
.pp-footer-hours .pp-hours-row { grid-template-columns: 1fr auto; }
.pp-footer-bottom { border-top: 1px solid rgba(214,173,85,.18); background: linear-gradient(90deg, #4f0712, #77101f, #4f0712); }
.pp-footer-bottom-inner { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #f6efe4; font-size: .86rem; }

/* Scroll reveal */
.js .pp-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.js .pp-reveal.pp-visible { opacity: 1; transform: none; }
.js .pp-reveal[data-delay="1"] { transition-delay: .08s; }
.js .pp-reveal[data-delay="2"] { transition-delay: .16s; }
.js .pp-reveal[data-delay="3"] { transition-delay: .24s; }
.js .pp-reveal[data-delay="4"] { transition-delay: .32s; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition-duration: .01ms !important; }
  .js .pp-reveal { opacity: 1 !important; transform: none !important; }
}

/* Responsive */
@media (max-width: 1050px) {
  .pp-header-inner { grid-template-columns: 180px 1fr auto; }
  .pp-nav ul { gap: 18px; }
  .pp-nav a { font-size: .82rem; }
  .pp-info-grid, .pp-selection-grid { grid-template-columns: repeat(2, 1fr); }
  .pp-team-grid { grid-template-columns: 1fr; }
  .pp-footer-main { grid-template-columns: 200px 1fr 1fr; }
  .pp-footer-main .pp-footer-hours-col { grid-column: 2 / -1; }
}
@media (max-width: 800px) {
  .pp-header { position: absolute; }
  .pp-header-inner { min-height: 96px; grid-template-columns: 150px 1fr auto; gap: 14px; }
  .pp-brand img, .pp-brand .custom-logo { width: 150px; max-height: 88px; }
  .pp-menu-toggle { display: inline-grid; place-items: center; justify-self: end; }
  .pp-header-phone { display: none; }
  .pp-nav {
    position: fixed;
    top: 0; right: 0; bottom: 0;
    width: min(82vw, 340px);
    padding: 110px 28px 30px;
    background: rgba(13,11,9,.98);
    transform: translateX(102%);
    transition: transform .28s ease;
    box-shadow: -20px 0 50px rgba(0,0,0,.45);
  }
  body.menu-open .pp-nav { transform: none; }
  .pp-nav ul { display: grid; gap: 8px; }
  .pp-nav a { padding: 14px 0; font-size: 1rem; }
  .pp-hero { min-height: 720px; }
  .pp-hero-content { width: 100%; padding: 150px 0 180px; }
  .pp-hero h1 { font-size: clamp(3rem, 12vw, 4.7rem); max-width: 640px; }
  .pp-hero-script { display: none; }
  .pp-scroll-cue { bottom: 112px; }
  .pp-info-wrap { margin-top: -70px; }
  .pp-team-grid { gap: 28px; }
  .pp-brand-grid { grid-template-columns: repeat(2, 1fr); }
  .pp-footer-main { grid-template-columns: 1fr 1fr; }
  .pp-footer-logo { grid-column: 1 / -1; }
  .pp-footer-col { border-left: 0; padding-left: 0; }
  .pp-footer-main .pp-footer-hours-col { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .pp-container { width: min(calc(100% - 28px), var(--pp-width)); }
  .pp-header-inner { grid-template-columns: 132px 1fr auto; }
  .pp-brand img, .pp-brand .custom-logo { width: 132px; max-height: 80px; }
  .pp-hero { min-height: 680px; }
  .pp-hero-content { padding-top: 132px; }
  .pp-hero h1 { font-size: clamp(2.65rem, 13vw, 4rem); }
  .pp-hero-contact { display: grid; gap: 9px; }
  .pp-info-grid, .pp-selection-grid, .pp-brand-grid { grid-template-columns: 1fr; }
  .pp-info-card { min-height: 230px; }
  .pp-category { min-height: 430px; }
  .pp-section { padding: 62px 0; }
  .pp-team { padding-top: 58px; padding-bottom: 58px; }
  .pp-footer-main { grid-template-columns: 1fr; }
  .pp-footer-main .pp-footer-hours-col, .pp-footer-logo { grid-column: auto; }
  .pp-footer-bottom-inner { flex-direction: column; justify-content: center; padding: 15px 0; text-align: center; gap: 5px; }
}

/* =========================================================
   v1.5 — larger optically centered header logo + inventory collections
   ========================================================= */
.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;
}

/* Centered header: logo is locked dead-center and never animated. */
.pp-header {
  background: linear-gradient(180deg, rgba(8,6,5,.78) 0%, rgba(8,6,5,.38) 58%, transparent 100%);
  border-bottom: 0;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.pp-header-inner {
  min-height: 196px;
  display: grid;
  grid-template-columns: minmax(0,1fr) 310px minmax(0,1fr);
  align-items: start;
  gap: 30px;
  position: relative;
}
.pp-brand {
  grid-column: 2;
  justify-self: center;
  align-self: start;
  height: 196px;
  display: grid;
  place-items: start center;
  padding-top: 8px;
  pointer-events: auto;
}
.pp-brand img,
.pp-brand .custom-logo,
.pp-brand .custom-logo-link img {
  width: 300px;
  max-width: 300px;
  max-height: 188px;
  height: auto;
  object-fit: contain;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.58));
  transform: none !important;
  animation: none !important;
  transition: filter .25s ease !important;
}
.pp-brand:hover img,
.pp-brand:hover .custom-logo,
.pp-brand:focus-visible img { transform: none !important; }
.pp-nav {
  align-self: start;
  padding-top: 68px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.pp-nav-left { grid-column: 1; justify-content: flex-end; }
.pp-nav-right { grid-column: 3; justify-content: flex-start; }
.pp-nav a {
  position: relative;
  display: inline-block;
  color: rgba(255,255,255,.94);
  font-size: .79rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  white-space: nowrap;
  text-shadow: 0 2px 8px rgba(0,0,0,.55);
}
.pp-nav a::after {
  content: "";
  position: absolute;
  left: 50%; right: 50%; bottom: -9px;
  height: 2px;
  background: #c62837;
  transition: left .22s ease, right .22s ease;
}
.pp-nav a:hover::after, .pp-nav a:focus-visible::after { left: 0; right: 0; }
.pp-menu-toggle, .pp-mobile-nav { display: none; }

/* Hero video/image remains the full-bleed background. */
.pp-hero-centered {
  min-height: 760px;
  align-items: center;
  border-bottom: 2px solid rgba(214,173,85,.62);
}
.pp-hero-centered::before {
  transform: scale(1.02);
  animation: none;
  background-position: center;
}
.pp-hero-centered::after {
  background:
    radial-gradient(circle at 50% 39%, rgba(0,0,0,.08), rgba(0,0,0,.20) 34%, rgba(0,0,0,.62) 86%),
    linear-gradient(180deg, rgba(4,3,3,.22) 0%, rgba(4,3,3,.18) 40%, rgba(4,3,3,.62) 100%);
}
.pp-hero-center-wrap {
  display: flex;
  justify-content: center;
  width: 100%;
}
.pp-hero-centered .pp-hero-content {
  width: min(940px, 92%);
  margin: 0 auto;
  padding: 300px 0 86px;
  text-align: center;
  transform: none !important;
}
.pp-hero-centered .pp-kicker {
  color: #fff;
  font-size: clamp(.76rem, 1.15vw, .98rem);
  letter-spacing: .38em;
  text-shadow: 0 3px 14px rgba(0,0,0,.75);
}
.pp-hero-centered h1 {
  max-width: none;
  margin: 14px auto 14px;
  font-size: clamp(3.4rem, 7vw, 6.25rem);
  line-height: .95;
  letter-spacing: -.02em;
  text-transform: uppercase;
  text-shadow: 0 7px 28px rgba(0,0,0,.68);
}
.pp-hero-divider {
  width: min(330px, 70%);
  margin: 14px auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
  color: var(--pp-gold-light);
}
.pp-hero-divider::before, .pp-hero-divider::after {
  content: "";
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--pp-gold), transparent);
}
.pp-hero-divider span { font-size: 1.12rem; }
.pp-hero-centered .pp-hero-lede {
  margin: 0 auto 28px;
  color: #fff;
  font-size: clamp(.82rem, 1.15vw, 1rem);
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-shadow: 0 3px 14px rgba(0,0,0,.72);
}
.pp-hero-centered .pp-btn { min-width: 200px; }

/* Info cards now sit naturally under the hero rather than overlapping it. */
.pp-info-wrap { margin-top: 0; background: #11100e; padding: 22px 0; }
.pp-info-card { min-height: 265px; }
.pp-info-phone { font-size: 1.34rem !important; font-weight: 800; }

/* Entire selection card is clickable. */
.pp-category-link { position: absolute; inset: 0; display: block; z-index: 3; }
.pp-category-content { z-index: 4; pointer-events: none; }
.pp-category-content .pp-btn { pointer-events: none; }
.pp-category p { font-size: .9rem; max-height: 3.9em; overflow: hidden; }

/* Google reviews strip */
.pp-google-reviews {
  padding: 58px 0;
  background:
    radial-gradient(circle at 10% 20%, rgba(214,173,85,.10), transparent 31%),
    linear-gradient(135deg, #1b1713, #0f0d0b);
  border-top: 1px solid rgba(214,173,85,.24);
  border-bottom: 1px solid rgba(214,173,85,.24);
}
.pp-reviews-card {
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 30px 34px;
  border: 1px solid rgba(214,173,85,.48);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  box-shadow: 0 18px 50px rgba(0,0,0,.25);
}
.pp-google-mark {
  width: 74px; height: 74px;
  display: grid; place-items: center;
  border-radius: 999px;
  background: #fff;
  color: #4285f4;
  font: 800 2.4rem/1 Arial, sans-serif;
  box-shadow: 0 8px 24px rgba(0,0,0,.28);
}
.pp-reviews-copy h2 {
  margin: 4px 0 4px;
  font: 700 clamp(1.6rem,3vw,2.55rem)/1.06 Georgia,serif;
}
.pp-reviews-copy p { margin: 4px 0 0; color: #ddd4c8; }
.pp-stars { color: #f2c75b; letter-spacing: .08em; font-size: 1.28rem; }
.pp-reviews-button { white-space: nowrap; }

/* Collection landing pages */
.pp-collection-page { background: #0f0d0b; }
.pp-collection-hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: end;
  isolation: isolate;
  background: #15110e;
  overflow: hidden;
  border-bottom: 2px solid rgba(214,173,85,.62);
}
.pp-collection-hero::before {
  content: "";
  position: absolute; inset: 0; z-index: -2;
  background-image: var(--pp-collection-image);
  background-size: cover;
  background-position: center;
  transform: scale(1.035);
}
.pp-collection-hero::after {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(5,4,3,.28), rgba(5,4,3,.36) 35%, rgba(5,4,3,.88) 100%);
}
.pp-collection-hero-inner { padding-top: 230px; padding-bottom: 68px; text-align: center; max-width: 900px; }
.pp-collection-hero h1 {
  margin: 7px 0 10px;
  font: 700 clamp(3rem,7vw,5.6rem)/.96 Georgia,serif;
  text-transform: uppercase;
  text-shadow: 0 5px 22px rgba(0,0,0,.58);
}
.pp-collection-hero p { max-width: 760px; margin: 0 auto 24px; color: #f4eee6; font-size: 1.08rem; }
.pp-inventory-section { background: linear-gradient(180deg, #f7f1e5, #fffaf1); color: #1f1a16; }
.pp-inventory-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 28px;
  margin-bottom: 30px;
}
.pp-inventory-toolbar .pp-kicker { color: #9c6b1e; }
.pp-inventory-toolbar h2 { margin: 3px 0 0; font: 700 clamp(2rem,4vw,3.2rem)/1 Georgia,serif; }
.pp-inventory-search-wrap { width: min(360px,100%); }
.pp-inventory-search {
  width: 100%;
  min-height: 48px;
  padding: 10px 15px;
  border: 1px solid rgba(101,11,24,.25);
  border-radius: 7px;
  background: #fff;
  color: #211b17;
  outline: none;
  box-shadow: 0 8px 20px rgba(58,33,10,.06);
}
.pp-inventory-search:focus { border-color: var(--pp-burgundy); box-shadow: 0 0 0 3px rgba(101,11,24,.09); }
.pp-inventory-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
.pp-inventory-card {
  overflow: hidden;
  border: 1px solid rgba(105,73,38,.18);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(65,41,17,.10);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.pp-inventory-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(65,41,17,.18); border-color: rgba(164,112,31,.45); }
.pp-inventory-card.is-filtered-out { display: none; }
.pp-inventory-card-link { display: block; height: 100%; }
.pp-inventory-image { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: #eee8dc; }
.pp-inventory-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.pp-inventory-card:hover .pp-inventory-image img { transform: scale(1.045); }
.pp-stock-badge {
  position: absolute; top: 12px; left: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(101,11,24,.92);
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.pp-inventory-placeholder { height: 100%; display: grid; place-content: center; text-align: center; color: #805e2d; gap: 5px; }
.pp-inventory-placeholder span { font: 700 3rem Georgia,serif; }
.pp-inventory-placeholder small { color: #796c5c; }
.pp-inventory-body { padding: 18px; }
.pp-inventory-brand { color: #986719; font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.pp-inventory-body h3 { margin: 4px 0 8px; color: #201916; font: 700 1.35rem/1.13 Georgia,serif; }
.pp-inventory-body p { margin: 10px 0; color: #65594d; font-size: .9rem; line-height: 1.45; }
.pp-inventory-meta { display: flex; justify-content: space-between; gap: 12px; color: #716352; font-size: .84rem; border-top: 1px solid #eee3d2; padding-top: 9px; }
.pp-inventory-meta strong { color: var(--pp-burgundy); }
.pp-text-link { color: var(--pp-burgundy); font-size: .84rem; font-weight: 800; }
.pp-inventory-empty, .pp-no-search-results {
  padding: 58px 30px;
  text-align: center;
  border: 1px dashed rgba(101,11,24,.28);
  border-radius: 12px;
  background: rgba(255,255,255,.65);
}
.pp-inventory-empty h3 { margin: 10px 0 5px; font: 700 2rem Georgia,serif; }
.pp-inventory-empty p { max-width: 700px; margin: 8px auto; }
.pp-empty-icon { width: 72px; height: 72px; margin: 0 auto; display: grid; place-items: center; border-radius: 999px; background: var(--pp-burgundy); color:#fff; font:700 1.8rem Georgia,serif; }
.pp-admin-tip { margin-top: 18px !important; padding: 12px; background: #fff8d9; border-radius: 7px; }
.pp-pagination { margin-top: 34px; display: flex; justify-content: center; gap: 8px; }
.pp-pagination .page-numbers { min-width: 38px; min-height: 38px; display: grid; place-items:center; border:1px solid #dbc9ae; border-radius:6px; background:#fff; color:#5b171f; }
.pp-pagination .current { background:var(--pp-burgundy); color:#fff; border-color:var(--pp-burgundy); }
.pp-collection-cta { background: #15110e; padding: 48px 0; }
.pp-collection-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.pp-collection-cta h2 { margin:3px 0 0; font:700 clamp(1.7rem,3vw,2.7rem)/1.05 Georgia,serif; }

/* Inventory single */
.pp-inventory-single-wrap { background: linear-gradient(180deg,#17130f 0 180px,#fffaf1 180px 100%); }
.pp-inventory-single { padding: 215px 0 80px; color:#1f1a16; }
.pp-inventory-single-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:60px; align-items:start; }
.pp-inventory-single-image { background:#fff; padding:12px; border:1px solid #e3d6c1; box-shadow:0 18px 45px rgba(64,39,14,.14); }
.pp-inventory-single-image img { width:100%; max-height:650px; object-fit:contain; }
.pp-inventory-single-copy h1 { margin:7px 0 18px; font:700 clamp(2.5rem,5vw,4.4rem)/1 Georgia,serif; }
.pp-back-link { display:inline-block; margin-bottom:20px; color:#7d5b2b; font-weight:800; }
.pp-product-facts { display:flex; flex-wrap:wrap; gap:12px; margin:18px 0 24px; }
.pp-product-facts span { min-width:120px; padding:12px 14px; border:1px solid #e1d2bd; border-radius:8px; background:#fff; font-weight:800; }
.pp-product-facts small { display:block; color:#8a7761; text-transform:uppercase; letter-spacing:.1em; font-size:.64rem; margin-bottom:2px; }
.pp-entry-content { color:#4e453c; }
.pp-inventory-disclaimer { color:#7a6c5d; font-size:.86rem; font-style:italic; }

@media (max-width: 1180px) {
  .pp-header-inner { grid-template-columns: minmax(0,1fr) 260px minmax(0,1fr); gap: 16px; min-height: 176px; }
  .pp-brand { height: 176px; }
  .pp-brand img, .pp-brand .custom-logo, .pp-brand .custom-logo-link img { width: 250px; max-width: 250px; max-height: 166px; }
  .pp-nav { gap: 16px; padding-top: 60px; }
  .pp-nav a { font-size: .70rem; }
  .pp-inventory-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .pp-header-inner { min-height: 118px; grid-template-columns: 1fr auto 1fr; align-items:start; }
  .pp-brand { height:118px; padding-top:8px; }
  .pp-brand img, .pp-brand .custom-logo, .pp-brand .custom-logo-link img { width: 170px; max-width:170px; max-height:108px; }
  .pp-nav { display:none; }
  .pp-menu-toggle {
    display:grid; place-items:center;
    grid-column:3; justify-self:end; align-self:start;
    margin-top:28px;
    z-index:35;
  }
  .pp-mobile-nav {
    display:grid;
    position:fixed;
    top:0; right:0; bottom:0;
    width:min(84vw,360px);
    padding:105px 30px 34px;
    background:rgba(13,10,8,.985);
    box-shadow:-20px 0 55px rgba(0,0,0,.46);
    transform:translateX(104%);
    transition:transform .28s ease;
    z-index:30;
    align-content:start;
  }
  body.menu-open .pp-mobile-nav { transform:none; }
  .pp-mobile-nav a { padding:13px 0; border-bottom:1px solid rgba(214,173,85,.14); font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
  .pp-hero-centered { min-height:700px; }
  .pp-hero-centered .pp-hero-content { padding-top:225px; }
  .pp-reviews-card { grid-template-columns:70px 1fr; }
  .pp-reviews-button { grid-column:1/-1; width:100%; }
  .pp-inventory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pp-inventory-single-grid { grid-template-columns:1fr; gap:32px; }
  .pp-collection-cta-inner { flex-direction:column; align-items:flex-start; }
}

@media (max-width: 600px) {
  .pp-header-inner { min-height:105px; }
  .pp-brand { height:105px; }
  .pp-brand img, .pp-brand .custom-logo, .pp-brand .custom-logo-link img { width:148px; max-width:148px; max-height:98px; }
  .pp-menu-toggle { margin-top:24px; }
  .pp-hero-centered { min-height:650px; }
  .pp-hero-centered .pp-hero-content { width:100%; padding-top:195px; padding-bottom:75px; }
  .pp-hero-centered h1 { font-size:clamp(2.8rem,15vw,4.6rem); }
  .pp-hero-centered .pp-kicker { letter-spacing:.24em; }
  .pp-hero-centered .pp-hero-lede { letter-spacing:.11em; line-height:1.6; }
  .pp-reviews-card { grid-template-columns:1fr; text-align:center; padding:26px 20px; }
  .pp-google-mark { margin:0 auto; }
  .pp-inventory-toolbar { flex-direction:column; align-items:stretch; }
  .pp-inventory-search-wrap { width:100%; }
  .pp-inventory-grid { grid-template-columns:1fr; }
  .pp-collection-hero { min-height:470px; }
  .pp-collection-hero-inner { padding-top:180px; padding-bottom:52px; }
  .pp-inventory-single { padding-top:165px; }
}


/* =========================================================
   v1.6 — Signature centered logo + quieter premium actions
   ========================================================= */

/* Give the signature mark more presence and lock its actual image to the
   mathematical center of the header, independent of nav item counts. */
@media (min-width: 901px) {
  .pp-header-inner {
    width: min(calc(100% - 56px), 1480px);
    min-height: 226px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
  }

  .pp-brand {
    grid-column: 2;
    position: absolute;
    left: 50%;
    top: 8px;
    width: 410px;
    height: 210px;
    padding: 0;
    transform: translateX(-50%) !important;
    display: grid;
    place-items: start center;
  }

  .pp-brand img,
  .pp-brand .pp-brand-image,
  .pp-brand .custom-logo {
    width: 390px !important;
    max-width: 390px !important;
    max-height: 205px !important;
    height: auto !important;
    object-fit: contain;
    object-position: center top;
    transform: none !important;
    animation: none !important;
    filter: drop-shadow(0 12px 24px rgba(0,0,0,.62));
  }

  .pp-nav {
    padding-top: 87px;
    gap: clamp(22px, 2vw, 38px);
    align-self: start;
    min-width: 0;
  }
  .pp-nav-left { grid-column: 1; justify-content: flex-end; padding-right: 6px; }
  .pp-nav-right { grid-column: 3; justify-content: flex-start; padding-left: 6px; }
  .pp-nav a { font-size: clamp(.70rem, .72vw, .84rem); letter-spacing: .055em; }

  .pp-hero-centered .pp-hero-content {
    padding-top: 335px;
  }
}

/* The primary hero CTA can stay substantial; secondary card actions are
   intentionally quieter to keep the page from feeling button-heavy. */
.pp-card-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  margin-top: auto;
  padding: 8px 2px 7px;
  color: var(--pp-gold-light);
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(242,207,122,.62);
  border-radius: 0;
  box-shadow: none;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .15em;
  line-height: 1.25;
  text-transform: uppercase;
  transition: color .22s ease, border-color .22s ease, letter-spacing .22s ease, opacity .22s ease;
}
.pp-card-action:hover,
.pp-card-action:focus-visible {
  color: #fff3cf;
  border-color: var(--pp-gold-light);
  letter-spacing: .18em;
  transform: none;
  box-shadow: none;
  filter: none;
}
.pp-info-card .pp-card-action { width: auto; max-width: 100%; }
.pp-card-action--category {
  color: #fff2cf;
  border-bottom-color: rgba(242,207,122,.78);
  text-shadow: 0 2px 8px rgba(0,0,0,.5);
}
.pp-category:hover .pp-card-action--category { color: #fff; border-bottom-color: #fff0bd; }

/* A little more restraint in card motion also reads as more premium. */
.pp-info-card:hover { transform: translateY(-4px); }
.pp-category:hover { transform: translateY(-4px); }

@media (max-width: 1180px) and (min-width: 901px) {
  .pp-header-inner {
    width: min(calc(100% - 36px), 1180px);
    grid-template-columns: minmax(0, 1fr) 350px minmax(0, 1fr);
    min-height: 200px;
    gap: 14px;
  }
  .pp-brand { width: 340px; height: 188px; top: 7px; }
  .pp-brand img,
  .pp-brand .pp-brand-image,
  .pp-brand .custom-logo {
    width: 330px !important;
    max-width: 330px !important;
    max-height: 185px !important;
  }
  .pp-nav { padding-top: 78px; gap: 15px; }
  .pp-nav a { font-size: .66rem; letter-spacing: .035em; }
  .pp-hero-centered .pp-hero-content { padding-top: 300px; }
}

@media (max-width: 900px) {
  .pp-brand { transform: none !important; }
  .pp-brand img,
  .pp-brand .pp-brand-image,
  .pp-brand .custom-logo { transform: none !important; animation: none !important; }
}


/* =========================================================
   v1.7 — true viewport-centered signature logo
   ========================================================= */

/*
 * The logo is intentionally positioned relative to the full-width header,
 * not the inner nav container. That means uneven link counts, text widths,
 * container widths, or browser zoom cannot pull the PP mark off center.
 */
@media (min-width: 901px) {
  .pp-header-inner {
    position: static !important;
    grid-template-columns: minmax(0, 1fr) 460px minmax(0, 1fr);
    min-height: 250px;
  }

  .pp-brand {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: 4px !important;
    width: 440px !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    display: block !important;
    text-align: center;
    z-index: 24;
  }

  .pp-brand img,
  .pp-brand .pp-brand-image,
  .pp-brand .custom-logo,
  .pp-brand .custom-logo-link img {
    display: block;
    width: 430px !important;
    max-width: 430px !important;
    max-height: none !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain;
    object-position: center top;
    transform: none !important;
    animation: none !important;
    filter: drop-shadow(0 14px 28px rgba(0,0,0,.64));
  }

  .pp-nav {
    padding-top: 92px;
    gap: clamp(20px, 1.7vw, 34px);
    position: relative;
    z-index: 25;
  }
  .pp-nav-left {
    grid-column: 1;
    justify-content: flex-end;
    padding-right: 26px;
  }
  .pp-nav-right {
    grid-column: 3;
    justify-content: flex-start;
    padding-left: 26px;
  }

  .pp-hero-centered .pp-hero-content {
    padding-top: 365px;
  }
}

@media (max-width: 1280px) and (min-width: 901px) {
  .pp-header-inner {
    grid-template-columns: minmax(0, 1fr) 390px minmax(0, 1fr);
    min-height: 224px;
  }
  .pp-brand { width: 380px !important; top: 5px !important; }
  .pp-brand img,
  .pp-brand .pp-brand-image,
  .pp-brand .custom-logo,
  .pp-brand .custom-logo-link img {
    width: 370px !important;
    max-width: 370px !important;
    max-height: none !important;
  }
  .pp-nav { padding-top: 82px; gap: 14px; }
  .pp-nav-left { padding-right: 18px; }
  .pp-nav-right { padding-left: 18px; }
  .pp-nav a { font-size: .65rem; letter-spacing: .03em; }
  .pp-hero-centered .pp-hero-content { padding-top: 330px; }
}

/* Keep mobile behavior untouched except explicitly disabling any transform
   inherited from desktop logo centering. */
@media (max-width: 900px) {
  .pp-header-inner { position: relative !important; }
  .pp-brand {
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: auto !important;
    height: 118px !important;
    transform: none !important;
  }
}

@media (max-width: 600px) {
  .pp-brand { height: 105px !important; }
}


/* =========================================================
   v1.8 — navigation optically centered on signature logo
   ========================================================= */
/*
 * The mark is 3:2 artwork, so its vertical midpoint can be calculated from
 * its rendered width. The desktop navigation groups are now positioned from
 * that same midpoint and from equal distances on each side of the viewport
 * center. This keeps both nav groups visually centered on the PP logo rather
 * than merely centered inside the header row.
 */
@media (min-width: 1281px) {
  .pp-nav {
    position: absolute !important;
    top: 147px !important;
    padding-top: 0 !important;
    margin: 0 !important;
    transform: translateY(-50%);
    align-self: auto !important;
    z-index: 25;
  }
  .pp-nav-left {
    left: auto !important;
    right: calc(50% + 250px) !important;
    padding: 0 !important;
    justify-content: flex-end;
  }
  .pp-nav-right {
    right: auto !important;
    left: calc(50% + 250px) !important;
    padding: 0 !important;
    justify-content: flex-start;
  }
}

@media (max-width: 1280px) and (min-width: 1101px) {
  .pp-nav {
    position: absolute !important;
    top: 128px !important;
    padding-top: 0 !important;
    margin: 0 !important;
    transform: translateY(-50%);
    align-self: auto !important;
    z-index: 25;
  }
  .pp-nav-left {
    left: auto !important;
    right: calc(50% + 210px) !important;
    padding: 0 !important;
    justify-content: flex-end;
  }
  .pp-nav-right {
    right: auto !important;
    left: calc(50% + 210px) !important;
    padding: 0 !important;
    justify-content: flex-start;
  }
}

/* Preserve the centered desktop treatment on smaller laptops without
   allowing the four-link right side to collide with the logo. */
@media (max-width: 1100px) and (min-width: 901px) {
  .pp-header-inner {
    min-height: 204px !important;
  }
  .pp-brand {
    width: 320px !important;
    top: 5px !important;
  }
  .pp-brand img,
  .pp-brand .pp-brand-image,
  .pp-brand .custom-logo,
  .pp-brand .custom-logo-link img {
    width: 310px !important;
    max-width: 310px !important;
  }
  .pp-nav {
    position: absolute !important;
    top: 108px !important;
    padding-top: 0 !important;
    margin: 0 !important;
    gap: 10px !important;
    transform: translateY(-50%);
    align-self: auto !important;
    z-index: 25;
  }
  .pp-nav-left {
    left: auto !important;
    right: calc(50% + 174px) !important;
    padding: 0 !important;
    justify-content: flex-end;
  }
  .pp-nav-right {
    right: auto !important;
    left: calc(50% + 174px) !important;
    padding: 0 !important;
    justify-content: flex-start;
  }
  .pp-nav a {
    font-size: .59rem !important;
    letter-spacing: .022em !important;
  }
  .pp-hero-centered .pp-hero-content {
    padding-top: 298px !important;
  }
}

/* =========================================================
   v1.9 — supplied collection photography + premium glass copy panels
   ========================================================= */
.pp-category {
  min-height: 430px;
  background: #100e0c;
}
.pp-category::after {
  background: linear-gradient(180deg, rgba(7,6,5,.04) 0%, rgba(7,6,5,.10) 48%, rgba(7,6,5,.28) 100%);
  pointer-events: none;
}
.pp-category-media img {
  object-position: center center;
}
.pp-category-content {
  left: 14px;
  right: 14px;
  bottom: 14px;
  padding: 17px 16px 16px;
  border: 1px solid rgba(242,207,122,.34);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(12,10,8,.56), rgba(12,10,8,.78));
  -webkit-backdrop-filter: blur(8px) saturate(112%);
  backdrop-filter: blur(8px) saturate(112%);
  box-shadow: 0 12px 30px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.055);
  transition: background .28s ease, border-color .28s ease, transform .28s ease;
}
.pp-category:hover .pp-category-content {
  background: linear-gradient(180deg, rgba(12,10,8,.64), rgba(12,10,8,.84));
  border-color: rgba(242,207,122,.56);
  transform: translateY(-2px);
}
.pp-category h3 {
  margin-bottom: 7px;
  color: #fffaf0;
  font-size: 1.48rem;
  line-height: 1.05;
  text-shadow: 0 2px 10px rgba(0,0,0,.72);
}
.pp-category p {
  max-width: 265px;
  max-height: none;
  overflow: visible;
  margin: 0 auto 12px;
  color: rgba(255,255,255,.96);
  font-size: .94rem;
  font-weight: 550;
  line-height: 1.42;
  text-shadow: 0 1px 7px rgba(0,0,0,.72);
}
.pp-card-action--category {
  margin-top: 2px;
  color: var(--pp-gold-light);
  border-bottom-color: rgba(242,207,122,.74);
  text-shadow: 0 2px 8px rgba(0,0,0,.62);
}

/* Category-specific focal points for the supplied photographs. */
.pp-selection-grid .pp-category:nth-child(1) .pp-category-media img { object-position: 50% 47%; }
.pp-selection-grid .pp-category:nth-child(2) .pp-category-media img { object-position: 50% 50%; }
.pp-selection-grid .pp-category:nth-child(3) .pp-category-media img { object-position: 50% 43%; }
.pp-selection-grid .pp-category:nth-child(4) .pp-category-media img { object-position: 50% 48%; }

@media (max-width: 560px) {
  .pp-category { min-height: 455px; }
  .pp-category-content { left: 12px; right: 12px; bottom: 12px; padding: 16px 14px; }
  .pp-category p { max-width: 310px; font-size: .95rem; }
}



/* =========================================================
   v2.0 — equal-height collection glass panels
   Keeps the Cognac copy panel aligned with the other cards.
   ========================================================= */
@media (min-width: 561px) {
  .pp-selection-grid .pp-category-content {
    min-height: 218px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .pp-selection-grid .pp-category-content h3,
  .pp-selection-grid .pp-category-content p,
  .pp-selection-grid .pp-category-content .pp-card-action {
    flex: 0 0 auto;
  }
}


/* =========================================================
   v2.1 — premium smoked-glass desktop navigation
   ========================================================= */
/*
 * Keep the PP mark as the visual centerpiece while making navigation easier
 * to read over changing hero video frames. These are intentionally subtle
 * smoked-glass pills rather than heavy cards.
 */
@media (min-width: 1281px) {
  .pp-nav {
    gap: clamp(14px, 1.15vw, 22px) !important;
  }
  .pp-nav a {
    padding: 10px 14px !important;
    border: 1px solid rgba(214,173,85,.10);
    border-radius: 7px;
    background: rgba(8, 6, 5, .30);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    color: #fffdf8;
    font-size: clamp(.86rem, .82vw, .98rem) !important;
    font-weight: 800;
    letter-spacing: .045em !important;
    line-height: 1.1;
    text-shadow: 0 2px 8px rgba(0,0,0,.78);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
    transition: background-color .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
  }
  .pp-nav a::after {
    left: 14px !important;
    right: calc(100% - 14px) !important;
    bottom: 5px !important;
    height: 1px !important;
    background: var(--pp-gold-light) !important;
    opacity: 0;
    transition: right .22s ease, opacity .22s ease !important;
  }
  .pp-nav a:hover,
  .pp-nav a:focus-visible {
    background: rgba(14, 10, 8, .62);
    border-color: rgba(214,173,85,.58);
    color: #fff4cf;
    box-shadow: 0 7px 18px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.045);
    transform: translateY(-1px);
    outline: none;
  }
  .pp-nav a:hover::after,
  .pp-nav a:focus-visible::after {
    left: 14px !important;
    right: 14px !important;
    opacity: .82;
  }
}

/* Slightly tighter treatment for laptops so the larger labels still clear
   the centered logo without wrapping. */
@media (max-width: 1280px) and (min-width: 1101px) {
  .pp-nav { gap: 9px !important; }
  .pp-nav a {
    padding: 9px 10px !important;
    border: 1px solid rgba(214,173,85,.10);
    border-radius: 6px;
    background: rgba(8, 6, 5, .30);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    font-size: .74rem !important;
    letter-spacing: .025em !important;
    text-shadow: 0 2px 7px rgba(0,0,0,.8);
    transition: background-color .22s ease, border-color .22s ease, color .22s ease;
  }
  .pp-nav a:hover,
  .pp-nav a:focus-visible {
    background: rgba(14, 10, 8, .62);
    border-color: rgba(214,173,85,.52);
    color: #fff4cf;
    outline: none;
  }
}

@media (max-width: 1100px) and (min-width: 901px) {
  .pp-nav { gap: 7px !important; }
  .pp-nav a {
    padding: 8px 8px !important;
    border: 1px solid rgba(214,173,85,.09);
    border-radius: 6px;
    background: rgba(8, 6, 5, .28);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    font-size: .68rem !important;
    letter-spacing: .015em !important;
    text-shadow: 0 2px 7px rgba(0,0,0,.8);
  }
}


/* =========================================================
   v2.2 — keep premium header treatment consistent on collections
   ========================================================= */
/*
 * Beer, Whiskey, Cognac and Specialty use the same shared header as the
 * homepage. These explicit collection-page rules prevent page/template
 * styling from weakening the smoked-glass nav treatment and also give the
 * current collection a refined active state.
 */
@media (min-width: 901px) {
  .page-template-page-collection .pp-header,
  .single-pp_inventory .pp-header {
    background: linear-gradient(180deg, rgba(8,6,5,.82) 0%, rgba(8,6,5,.44) 58%, rgba(8,6,5,.12) 84%, transparent 100%);
  }

  .page-template-page-collection .pp-nav a,
  .single-pp_inventory .pp-nav a {
    background: rgba(8,6,5,.30);
    border-color: rgba(214,173,85,.10);
    color: #fffdf8;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
  }

  .page-template-page-collection .pp-nav a:hover,
  .page-template-page-collection .pp-nav a:focus-visible,
  .single-pp_inventory .pp-nav a:hover,
  .single-pp_inventory .pp-nav a:focus-visible,
  .pp-nav a.pp-nav-current {
    background: rgba(14,10,8,.68);
    border-color: rgba(214,173,85,.64);
    color: #fff4cf;
    box-shadow: 0 7px 18px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.045);
  }

  .pp-nav a.pp-nav-current::after {
    left: 14px !important;
    right: 14px !important;
    opacity: .92 !important;
  }
}


/* =========================================================
   v2.3 — Kegs, Events & premium quote treatment
   ========================================================= */
.pp-services {
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 20%, rgba(142,21,39,.13), transparent 28%),
    radial-gradient(circle at 88% 76%, rgba(214,173,85,.09), transparent 30%),
    #11100e;
  border-top: 1px solid rgba(214,173,85,.18);
  border-bottom: 1px solid rgba(214,173,85,.18);
}
.pp-services-grid { display: grid; gap: 24px; }
.pp-service-card {
  display: grid;
  grid-template-columns: minmax(270px,.78fr) minmax(0,1.22fr);
  min-height: 330px;
  overflow: hidden;
  border: 1px solid rgba(214,173,85,.38);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(30,25,20,.96), rgba(12,11,10,.98));
  box-shadow: 0 20px 46px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.035);
}
.pp-service-card--reverse { grid-template-columns: minmax(0,1.22fr) minmax(270px,.78fr); }
.pp-service-card--reverse .pp-service-media { order: 2; }
.pp-service-media {
  min-height: 330px;
  position: relative;
  overflow: hidden;
  background: #e8e6e2;
}
.pp-service-media::after {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, transparent 68%, rgba(15,13,11,.38));
  pointer-events:none;
}
.pp-service-card--reverse .pp-service-media::after { background: linear-gradient(270deg, transparent 68%, rgba(15,13,11,.38)); }
.pp-service-media img { width:100%; height:100%; object-fit:cover; transition: transform .7s ease; }
.pp-service-media--kegs img { object-fit: contain; padding: 18px; }
.pp-service-card:hover .pp-service-media img { transform: scale(1.035); }
.pp-service-body { padding: 38px 42px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.pp-service-body h3 { margin: 8px 0 12px; font: 700 clamp(1.8rem,3vw,2.7rem)/1.05 Georgia,serif; }
.pp-service-body p { margin:0 0 17px; color:#ddd5ca; max-width:760px; }
.pp-service-tags { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.pp-service-tags span {
  padding:6px 10px;
  border:1px solid rgba(214,173,85,.27);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:#f3e4bd;
  font-size:.76rem;
  font-weight:750;
  letter-spacing:.025em;
}
.pp-premium-link {
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:4px 0 6px;
  border-bottom:1px solid rgba(242,207,122,.72);
  color:var(--pp-gold-light);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.105em;
  text-transform:uppercase;
  transition: color .2s ease, border-color .2s ease, letter-spacing .2s ease;
}
.pp-premium-link:hover,.pp-premium-link:focus-visible { color:#fff5d5; border-color:#fff5d5; letter-spacing:.125em; outline:none; }

.pp-quote--secondary { margin-top: 20px; margin-bottom: 0; }
.pp-team-bottom-quote { display:none; }

/* Events page */
.pp-events-page { background:#0d0c0b; }
.pp-events-hero {
  position:relative;
  min-height:640px;
  display:flex;
  align-items:flex-end;
  background-image:
    linear-gradient(180deg, rgba(7,6,5,.55) 0%, rgba(7,6,5,.46) 36%, rgba(7,6,5,.92) 100%),
    var(--pp-events-image);
  background-size:cover;
  background-position:center;
  border-bottom:1px solid rgba(214,173,85,.42);
}
.pp-events-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(39,4,10,.28), transparent 46%, rgba(0,0,0,.12)); pointer-events:none; }
.pp-events-hero-inner { position:relative; z-index:2; max-width:900px; padding-top:290px; padding-bottom:72px; text-align:center; }
.pp-events-hero h1 { margin:8px 0 14px; font:700 clamp(3rem,7vw,5.7rem)/.94 Georgia,serif; text-transform:uppercase; letter-spacing:.01em; text-shadow:0 7px 28px rgba(0,0,0,.72); }
.pp-events-hero p { max-width:780px; margin:0 auto 26px; color:#f0ebe3; font-size:1.07rem; text-shadow:0 2px 10px rgba(0,0,0,.75); }
.pp-event-intro { background:linear-gradient(180deg,#12100e,#17130f); }
.pp-event-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.pp-event-card {
  position:relative;
  padding:34px 34px 30px;
  border:1px solid rgba(214,173,85,.28);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(31,26,21,.92),rgba(13,12,10,.97));
  box-shadow:0 16px 34px rgba(0,0,0,.21), inset 0 1px rgba(255,255,255,.03);
}
.pp-event-card::before { content:""; position:absolute; left:28px; right:28px; top:0; height:1px; background:linear-gradient(90deg,transparent,var(--pp-gold),transparent); opacity:.68; }
.pp-event-icon { width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(242,207,122,.48); border-radius:50%; color:var(--pp-gold-light); font:700 1.25rem Georgia,serif; background:rgba(101,11,24,.18); }
.pp-event-card h3 { margin:15px 0 9px; font:700 1.55rem Georgia,serif; }
.pp-event-card p { margin:0 0 16px; color:#d9d1c6; }
.pp-event-card ul { margin:0; padding:0; list-style:none; display:grid; gap:7px; }
.pp-event-card li { position:relative; padding-left:18px; color:#f1e9db; font-size:.91rem; }
.pp-event-card li::before { content:"•"; position:absolute; left:0; color:var(--pp-gold-light); }
.pp-events-keg-detail { background:#f5efe3; color:#211b16; }
.pp-events-keg-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:58px; align-items:center; }
.pp-events-keg-media { min-height:390px; display:grid; place-items:center; padding:28px; border:1px solid rgba(164,112,31,.36); border-radius:14px; background:#e8e6e2; box-shadow:0 20px 40px rgba(75,48,18,.13); }
.pp-events-keg-media img { max-height:360px; object-fit:contain; }
.pp-events-keg-copy .pp-kicker { color:#a06b18; }
.pp-events-keg-copy h2 { margin:7px 0 15px; font:700 clamp(2.2rem,4vw,3.5rem)/1.02 Georgia,serif; }
.pp-events-keg-copy p { color:#51483e; }
.pp-events-keg-copy .pp-premium-link { color:#7a151f; border-color:rgba(122,21,31,.45); }
.pp-events-keg-copy .pp-premium-link:hover { color:#3d070e; border-color:#3d070e; }
.pp-event-cta { background:linear-gradient(135deg,#1c1712,#0e0d0b); }
.pp-event-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:34px; padding:38px 42px; border:1px solid rgba(214,173,85,.32); border-radius:14px; background:rgba(255,255,255,.025); }
.pp-event-cta-inner h2 { margin:6px 0 8px; font:700 clamp(2rem,3.5vw,3rem)/1.05 Georgia,serif; }
.pp-event-cta-inner p { margin:0; color:#d8d0c5; }
.pp-event-cta-inner .pp-btn { flex:0 0 auto; }

/* Events page gets the same premium header/nav treatment as collections. */
@media (min-width:901px) {
  .page-template-page-events .pp-header { background:linear-gradient(180deg,rgba(8,6,5,.82) 0%,rgba(8,6,5,.44) 58%,rgba(8,6,5,.12) 84%,transparent 100%); }
  .page-template-page-events .pp-nav a { background:rgba(8,6,5,.30); border-color:rgba(214,173,85,.10); color:#fffdf8; -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
  .page-template-page-events .pp-nav a:hover,
  .page-template-page-events .pp-nav a:focus-visible { background:rgba(14,10,8,.68); border-color:rgba(214,173,85,.64); color:#fff4cf; }
}

@media (max-width:1280px) and (min-width:901px) {
  /* Four links on each side after adding Events: keep the layout balanced and clear of the centered PP mark. */
  .pp-nav { gap:7px !important; }
  .pp-nav a { padding-left:8px !important; padding-right:8px !important; }
}
@media (max-width:900px) {
  .pp-service-card,.pp-service-card--reverse { grid-template-columns:1fr; }
  .pp-service-card--reverse .pp-service-media { order:0; }
  .pp-service-media,.pp-service-media--kegs { min-height:290px; }
  .pp-service-media::after,.pp-service-card--reverse .pp-service-media::after { background:linear-gradient(180deg,transparent 72%,rgba(15,13,11,.42)); }
  .pp-service-body { padding:30px 28px 34px; }
  .pp-events-hero { min-height:590px; }
  .pp-events-hero-inner { padding-top:220px; padding-bottom:62px; }
  .pp-event-grid,.pp-events-keg-grid { grid-template-columns:1fr; }
  .pp-events-keg-grid { gap:32px; }
  .pp-event-cta-inner { align-items:flex-start; flex-direction:column; }
}
@media (max-width:560px) {
  .pp-service-body { padding:26px 22px 30px; }
  .pp-service-media,.pp-service-media--kegs { min-height:240px; }
  .pp-event-card { padding:28px 23px 26px; }
  .pp-events-keg-media { min-height:300px; padding:20px; }
  .pp-event-cta-inner { padding:30px 24px; }
  .pp-events-hero h1 { font-size:clamp(2.7rem,14vw,4.2rem); }
}


/* =========================================================
   v2.4 — video-first hero + editable team/collection headers
   ========================================================= */

/* When an MP4 is configured, do not paint the old store photo behind it.
   This prevents the still image from flashing before the first video frame.
   The video fades in only after the browser has enough data to render it. */
.pp-hero--video {
  background: #090806;
}
.pp-hero--video::before {
  background-image: none !important;
  background: #090806 !important;
  transform: none !important;
  animation: none !important;
}
.pp-hero--video .pp-hero-video {
  opacity: 0;
  transition: opacity .28s ease;
}
.pp-hero--video .pp-hero-video.is-ready {
  opacity: 1;
}

/* Collection page title spacing now mirrors the Events page so the large
   centered logo never overlaps the "Panhandle Package Liquors" kicker. */
@media (min-width: 901px) {
  .pp-collection-hero {
    min-height: 620px;
  }
  .pp-collection-hero-inner {
    padding-top: 300px;
    padding-bottom: 72px;
  }
}

@media (max-width: 900px) {
  .pp-collection-hero-inner {
    padding-top: 220px;
    padding-bottom: 58px;
  }
}

@media (max-width: 600px) {
  .pp-collection-hero-inner {
    padding-top: 190px;
    padding-bottom: 48px;
  }
}

/* Reduced-motion visitors get the static fallback image intentionally.
   It is not rendered during normal MP4 playback, so there is no startup flash. */
@media (prefers-reduced-motion: reduce) {
  .pp-hero--video::before {
    background-image: var(--pp-hero-image) !important;
    background-size: cover !important;
    background-position: center !important;
  }
}
