/*
Theme Name: Golden Point Puppies Storefront Child
Template: storefront
Version: 1.2.0
Description: Compact responsive design system for Golden Point Puppies.
*/

:root {
  --gpp-ink: #22211f;
  --gpp-body: #4c4a46;
  --gpp-cream: #fbf8f1;
  --gpp-sand: #efe5d4;
  --gpp-white: #ffffff;
  --gpp-gold: #b47b2a;
  --gpp-gold-dark: #835619;
  --gpp-sage: #5c705d;
  --gpp-sage-dark: #354b39;
  --gpp-border: #ded6c9;
  --gpp-shadow: 0 12px 28px rgba(39,32,22,.11);
  --gpp-radius: 16px;
  --gpp-shell: 1180px;
}

html { scroll-behavior: smooth; }
body { background: var(--gpp-cream); color: var(--gpp-body); font-size: 17px; }
body, button, input, textarea, select { font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }

/* Strong scoped reset prevents Storefront/Jetpack block spacing from creating blank bands. */
.gpp-home,
.gpp-home > section,
.gpp-home .gpp-shell,
.gpp-home figure,
.gpp-home div { box-sizing: border-box; min-height: 0; }
.gpp-home { background: var(--gpp-cream); color: var(--gpp-body); margin: 0; overflow: hidden; padding: 0; }
.gpp-home > section { height: auto; margin: 0 !important; }
.gpp-home figure { margin: 0; }
.gpp-home h1,
.gpp-home h2,
.gpp-home h3 { clear: none; color: var(--gpp-ink); font-family: Georgia,"Times New Roman",serif; font-weight: 700; letter-spacing: -.02em; }
.gpp-home h1 { font-size: clamp(2.35rem,4.2vw,4rem); line-height: 1.02; margin: 0 0 .85rem; max-width: 15ch; }
.gpp-home h2 { font-size: clamp(1.75rem,2.8vw,2.65rem); line-height: 1.1; margin: 0 0 .85rem; }
.gpp-home h3 { font-size: 1.22rem; line-height: 1.25; margin: 0 0 .45rem; }
.gpp-home p { line-height: 1.58; margin: 0 0 .85rem; }
.gpp-home a { color: var(--gpp-gold-dark); }
.gpp-home img { display: block; height: auto; margin: 0; max-width: 100%; width: 100%; }
.gpp-shell { margin-inline: auto; max-width: var(--gpp-shell); padding-inline: 20px; width: 100%; }
.gpp-reading-width { max-width: 820px; }
.gpp-section { padding-block: clamp(2rem,3.4vw,3.5rem); }
.gpp-kicker,.gpp-eyebrow { color: var(--gpp-gold-dark); font-size: .74rem; font-weight: 800; letter-spacing: .13em; line-height: 1.35; margin-bottom: .65rem !important; text-transform: uppercase; }
.gpp-lead { font-size: clamp(1rem,1.35vw,1.16rem); max-width: 62ch; }
.gpp-small { font-size: .86rem; line-height: 1.5 !important; }

/* Hero */
.gpp-hero { background: radial-gradient(circle at 86% 20%,rgba(180,123,42,.16),transparent 30%),linear-gradient(135deg,#fffdf8,#f3eadc); padding-block: clamp(2rem,3.6vw,3.6rem); }
.gpp-hero-grid { align-items: center; display: grid; gap: clamp(1.5rem,3vw,3rem); grid-template-columns: minmax(0,1.12fr) minmax(280px,.88fr); }
.gpp-hero-image { justify-self: end; max-width: 430px; position: relative; width: 100%; }
.gpp-hero-image::before { border: 1px solid rgba(180,123,42,.42); border-radius: 28px; content: ""; inset: -9px 10px 9px -10px; position: absolute; }
.gpp-hero-image img { aspect-ratio: 4/4.5; border-radius: 28px; box-shadow: var(--gpp-shadow); object-fit: cover; position: relative; }
.gpp-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1.15rem 0; }
.gpp-actions-center { justify-content: center; }
.gpp-button { align-items: center; border: 2px solid transparent; border-radius: 999px; display: inline-flex; font-size: .88rem; font-weight: 800; justify-content: center; min-height: 46px; padding: .65rem 1.15rem; text-decoration: none !important; transition: transform .18s ease,background-color .18s ease; }
.gpp-button:hover { transform: translateY(-1px); }
.gpp-button-primary { background: var(--gpp-sage-dark); color: #fff !important; }
.gpp-button-primary:hover { background: #263b2d; }
.gpp-button-secondary { border-color: var(--gpp-sage-dark); color: var(--gpp-sage-dark) !important; }
.gpp-button-text { color: var(--gpp-sage-dark) !important; }
.gpp-button-light { background: #fff; color: var(--gpp-sage-dark) !important; }
.gpp-button-outline-light { border-color: rgba(255,255,255,.8); color: #fff !important; }
.gpp-trust-list { display: grid; gap: .35rem 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; margin: 1rem 0 0 !important; padding: 0; }
.gpp-trust-list li { font-size: .83rem; font-weight: 700; padding-left: 1.2rem; position: relative; }
.gpp-trust-list li::before { color: var(--gpp-sage); content: "✓"; left: 0; position: absolute; }

/* All photo collections use a predictable compact grid. */
.gpp-photo-strip,.gpp-gallery-section { padding: 8px 0 !important; }
.gpp-photo-strip { background: var(--gpp-ink); }
.gpp-gallery-dark { background: var(--gpp-ink); }
.gpp-gallery-warm { background: var(--gpp-sand); }
.gpp-photo-strip-grid,
.gpp-gallery { display: grid !important; gap: 8px !important; grid-auto-flow: row !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; margin: 0 auto !important; max-width: var(--gpp-shell) !important; padding-inline: 8px !important; width: 100% !important; }
.gpp-photo-strip-grid img,
.gpp-gallery img { aspect-ratio: 1/1 !important; border-radius: 10px; height: auto !important; min-height: 0 !important; object-fit: cover !important; width: 100% !important; }
.gpp-gallery img:hover { filter: saturate(1.03); }

/* Content */
.gpp-two-column { align-items: start; display: grid; gap: clamp(1.5rem,3vw,3rem); grid-template-columns: minmax(0,1.05fr) minmax(300px,.95fr); }
.gpp-two-column-balanced { align-items: center; grid-template-columns: repeat(2,minmax(0,1fr)); }
.gpp-care-card,.gpp-location-panel { background: #fff; border: 1px solid var(--gpp-border); border-radius: var(--gpp-radius); box-shadow: var(--gpp-shadow); padding: clamp(1.2rem,2.4vw,2rem); }
.gpp-care-card ul,.gpp-check-list { list-style: none; margin: .65rem 0 !important; padding: 0; }
.gpp-care-card li,.gpp-check-list li { border-bottom: 1px solid var(--gpp-border); padding: .55rem 0 .55rem 1.35rem; position: relative; }
.gpp-care-card li::before,.gpp-check-list li::before { color: var(--gpp-gold); content: "✓"; font-weight: 900; left: 0; position: absolute; }
.gpp-inline-links { display: flex; flex-wrap: wrap; gap: .85rem; }
.gpp-inline-links a,.gpp-text-link { font-weight: 800; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.gpp-feature-image img { aspect-ratio: 3/2; border-radius: var(--gpp-radius); box-shadow: var(--gpp-shadow); object-fit: cover; }

/* Adoption process */
.gpp-process { background: var(--gpp-sage-dark); color: rgba(255,255,255,.88); text-align: center; }
.gpp-process h2,.gpp-process h3 { color: #fff; }
.gpp-process .gpp-kicker { color: #e5c48d; }
.gpp-step-grid { display: grid; gap: .8rem; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 1.5rem 0; text-align: left; }
.gpp-step { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); border-radius: 14px; padding: 1.1rem; }
.gpp-step span { align-items: center; background: #e5c48d; border-radius: 50%; color: var(--gpp-ink); display: inline-flex; font-weight: 900; height: 32px; justify-content: center; margin-bottom: .65rem; width: 32px; }
.gpp-step p { font-size: .9rem; margin: 0; }
.gpp-process .gpp-button-secondary,.gpp-process .gpp-button-text { border-color: rgba(255,255,255,.75); color: #fff !important; }

.gpp-benefit-grid { display: grid; gap: .8rem; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 1.4rem; }
.gpp-benefit-grid article { background: #fff; border: 1px solid var(--gpp-border); border-radius: 14px; padding: 1.2rem; }
.gpp-video-wrap { background: var(--gpp-ink); border-radius: var(--gpp-radius); box-shadow: var(--gpp-shadow); overflow: hidden; }
.gpp-video-wrap iframe { aspect-ratio: 16/9; border: 0; display: block; height: auto; width: 100%; }
.gpp-guarantee { background: var(--gpp-sand); }
.gpp-guarantee-card { align-items: center; background: #fff; border-left: 5px solid var(--gpp-gold); border-radius: var(--gpp-radius); box-shadow: var(--gpp-shadow); display: grid; gap: 1.25rem; grid-template-columns: minmax(0,1fr) auto; padding: clamp(1.3rem,2.8vw,2.2rem); }
.gpp-location address { font-style: normal; line-height: 1.55; }
.gpp-location-panel { text-align: center; }
.gpp-faq details { background: #fff; border: 1px solid var(--gpp-border); border-radius: 12px; margin: 0 0 .55rem; padding: 0 1rem; }
.gpp-faq summary { color: var(--gpp-ink); cursor: pointer; font-family: Georgia,"Times New Roman",serif; font-size: 1.02rem; font-weight: 700; padding: .9rem 2rem .9rem 0; position: relative; }
.gpp-faq summary::after { content: "+"; font: 700 1.3rem/1 system-ui; position: absolute; right: 0; top: .85rem; }
.gpp-faq details[open] summary::after { content: "−"; }
.gpp-faq details p { border-top: 1px solid var(--gpp-border); padding-top: .75rem; }
.gpp-final-cta { background: linear-gradient(135deg,var(--gpp-sage-dark),#213329); color: rgba(255,255,255,.9); }
.gpp-final-cta h2,.gpp-final-cta .gpp-kicker { color: #fff; }
.gpp-final-cta-inner { align-items: center; display: grid; gap: 1.25rem; grid-template-columns: minmax(0,1fr) auto; }
.gpp-home :focus-visible { outline: 3px solid #dca64f; outline-offset: 3px; }

@media (max-width: 900px) {
  .gpp-hero-grid,.gpp-two-column,.gpp-two-column-balanced,.gpp-guarantee-card,.gpp-final-cta-inner { grid-template-columns: 1fr; }
  .gpp-hero-image { justify-self: center; max-width: 520px; }
  .gpp-step-grid,.gpp-benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gpp-guarantee-card { align-items: start; }
}

@media (max-width: 600px) {
  body { font-size: 16px; }
  .gpp-shell { padding-inline: 14px; }
  .gpp-section { padding-block: 1.65rem; }
  .gpp-hero { padding-block: 1.5rem; }
  .gpp-hero-grid { gap: 1.15rem; }
  .gpp-home h1 { font-size: clamp(2.15rem,11vw,3rem); max-width: none; }
  .gpp-home h2 { font-size: clamp(1.65rem,8vw,2.15rem); }
  .gpp-hero-copy { text-align: left; }
  .gpp-hero-image { max-width: none; width: 100%; }
  .gpp-hero-image::before { display: none; }
  .gpp-hero-image img { aspect-ratio: 16/11; border-radius: 16px; object-position: center 35%; }
  .gpp-trust-list { grid-template-columns: 1fr; }
  .gpp-actions { gap: .5rem; margin: .9rem 0; }
  .gpp-actions .gpp-button { width: 100%; }
  .gpp-photo-strip,.gpp-gallery-section { padding: 6px 0 !important; }
  .gpp-photo-strip-grid,.gpp-gallery { gap: 6px !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; padding-inline: 6px !important; }
  .gpp-photo-strip-grid img,.gpp-gallery img { aspect-ratio: 1/1 !important; border-radius: 8px; }
  .gpp-photo-strip-grid img:last-child,
  .gpp-gallery-five img:last-child,
  .gpp-gallery-seven img:last-child { grid-column: 1/-1; aspect-ratio: 16/9 !important; }
  .gpp-step-grid,.gpp-benefit-grid { grid-template-columns: 1fr; }
  .gpp-step { padding: 1rem; }
  .gpp-care-card,.gpp-location-panel { padding: 1.15rem; }
  .gpp-video-wrap { border-radius: 12px; }
}

@media (max-width: 380px) {
  .gpp-photo-strip-grid,.gpp-gallery { grid-template-columns: 1fr !important; }
  .gpp-photo-strip-grid img,.gpp-gallery img,
  .gpp-photo-strip-grid img:last-child,.gpp-gallery-five img:last-child,.gpp-gallery-seven img:last-child { aspect-ratio: 4/3 !important; grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .gpp-home * { transition: none !important; }
}


/* ==========================================================
   V7 PRODUCTION GALLERY SYSTEM
   Fixed frames + object-fit:contain = no cropping and no gaps.
   ========================================================== */

/* Prevent any prior image/grid declaration from leaking into later sections. */
.gpp-home section { clear: both; isolation: isolate; position: relative; }
.gpp-benefit-grid,
.gpp-step-grid,
.gpp-two-column { column-count: initial !important; }

.gpp-photo-strip,
.gpp-gallery-section {
  background: linear-gradient(180deg, #f6efe4 0%, #ede0cc 100%) !important;
  margin: 0 !important;
  padding: clamp(.65rem, 1.2vw, 1rem) 0 !important;
}
.gpp-gallery-dark { background: linear-gradient(180deg, #263029, #1d2520) !important; }
.gpp-gallery-warm { background: linear-gradient(180deg, #efe5d4, #e6d6bf) !important; }

.gpp-photo-strip-grid,
.gpp-gallery,
.gpp-gallery-four,
.gpp-gallery-five,
.gpp-gallery-six,
.gpp-gallery-seven {
  align-items: stretch !important;
  column-count: initial !important;
  display: grid !important;
  gap: clamp(.45rem, .8vw, .7rem) !important;
  grid-auto-flow: row !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin: 0 auto !important;
  max-width: 1240px !important;
  padding: 0 12px !important;
  width: 100% !important;
}

.gpp-photo-strip-grid img,
.gpp-gallery img {
  align-self: stretch !important;
  aspect-ratio: 4 / 3 !important;
  background: #fffaf2 !important;
  border: 1px solid rgba(180, 123, 42, .46) !important;
  border-radius: 18px !important;
  box-shadow: 0 9px 22px rgba(39, 32, 22, .12) !important;
  display: block !important;
  height: 100% !important;
  margin: 0 !important;
  max-height: none !important;
  min-height: 0 !important;
  object-fit: contain !important;
  padding: 6px !important;
  transform: none !important;
  width: 100% !important;
}

.gpp-gallery-dark img {
  background: #fbf5ea !important;
  border-color: rgba(229, 196, 141, .68) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .28) !important;
}

.gpp-photo-strip-grid img:hover,
.gpp-gallery img:hover { box-shadow: 0 12px 26px rgba(39, 32, 22, .18) !important; }

/* Match the successful hero framing across feature photography. */
.gpp-hero-image,
.gpp-feature-image {
  background: rgba(255,250,242,.76);
  border: 1px solid rgba(180,123,42,.44);
  border-radius: 26px;
  padding: 9px;
}
.gpp-hero-image::before { display: none !important; }
.gpp-hero-image img,
.gpp-feature-image img { border-radius: 19px !important; }

/* Keep the benefit section independent and readable. */
.gpp-why { background: #fbf8f1 !important; overflow: hidden; }
.gpp-why .gpp-shell { position: relative; z-index: 2; }
.gpp-benefit-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.gpp-benefit-grid article { height: 100%; position: relative; }

@media (max-width: 900px) {
  .gpp-photo-strip-grid,
  .gpp-gallery,
  .gpp-gallery-four,
  .gpp-gallery-five,
  .gpp-gallery-six,
  .gpp-gallery-seven { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .gpp-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 600px) {
  .gpp-photo-strip,
  .gpp-gallery-section { padding: 5px 0 !important; }
  .gpp-photo-strip-grid,
  .gpp-gallery,
  .gpp-gallery-four,
  .gpp-gallery-five,
  .gpp-gallery-six,
  .gpp-gallery-seven {
    gap: 5px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 0 5px !important;
  }
  .gpp-photo-strip-grid img,
  .gpp-gallery img {
    aspect-ratio: 1 / 1 !important;
    border-radius: 11px !important;
    padding: 3px !important;
  }
  .gpp-benefit-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 380px) {
  .gpp-photo-strip-grid,
  .gpp-gallery,
  .gpp-gallery-four,
  .gpp-gallery-five,
  .gpp-gallery-six,
  .gpp-gallery-seven { grid-template-columns: 1fr !important; }
  .gpp-photo-strip-grid img,
  .gpp-gallery img { aspect-ratio: auto !important; height: auto !important; }
}


/* ==========================================================
   V9 FINAL HOMEPAGE, ANNOUNCEMENT, PICTURE WALL, AND FOOTER
   ========================================================== */

/* Remove the actual source of the visible blank band: Storefront header widget/slideshow region. */
body.home .header-widget-region,
body.home .site-header + .header-widget-region,
body.home .storefront-hero,
body.home .page-template-template-homepage .site-main::before {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
}
body.home .site-header { margin-bottom: 0 !important; }
body.home #content,
body.home .site-content,
body.home .site-content > .col-full,
body.home #primary,
body.home .content-area,
body.home .site-main {
  float: none !important;
  margin: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Announcement bar */
.gpp-announcement {
  background: linear-gradient(90deg, #263f30 0%, #42614a 50%, #263f30 100%);
  border-bottom: 1px solid rgba(255,255,255,.14);
  color: #fff;
  margin: 0;
  position: relative;
  z-index: 20;
}
.gpp-announcement__inner {
  align-items: center;
  display: flex;
  gap: .85rem;
  justify-content: center;
  margin: auto;
  max-width: 1220px;
  min-height: 52px;
  padding: .7rem 1.25rem;
  text-align: center;
}
.gpp-announcement__icon { color: #efcc8f; font-size: 1rem; }
.gpp-announcement strong { color: #fff; font-size: .95rem; letter-spacing: .01em; }
.gpp-announcement a {
  border-left: 1px solid rgba(255,255,255,.35);
  color: #f5d79f;
  font-size: .9rem;
  font-weight: 800;
  padding-left: .85rem;
  text-decoration: none;
  white-space: nowrap;
}
.gpp-announcement a:hover { color: #fff; }

/* Picture wall: natural proportions, no cropping, no cards, no white borders. */
.gpp-home section { clear: both; display: flow-root; }
.gpp-photo-strip,
.gpp-gallery-section {
  background: #1c211e !important;
  margin: 0 !important;
  padding: 0 !important;
}
.gpp-gallery-warm { background: #d8c8af !important; }
.gpp-gallery-dark { background: #141916 !important; }
.gpp-photo-strip-grid,
.gpp-gallery,
.gpp-gallery-four,
.gpp-gallery-five,
.gpp-gallery-six,
.gpp-gallery-seven {
  column-count: 4 !important;
  column-gap: 3px !important;
  display: block !important;
  margin: 0 auto !important;
  max-width: 1500px !important;
  padding: 3px !important;
  width: 100% !important;
}
.gpp-photo-strip-grid img,
.gpp-gallery img {
  aspect-ratio: auto !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  break-inside: avoid !important;
  display: inline-block !important;
  height: auto !important;
  margin: 0 0 3px !important;
  max-height: none !important;
  min-height: 0 !important;
  object-fit: contain !important;
  padding: 0 !important;
  page-break-inside: avoid !important;
  transform: none !important;
  vertical-align: top !important;
  width: 100% !important;
}
.gpp-gallery-section + section { clear: both; }
.gpp-why { background: #fbf8f1 !important; clear: both; overflow: hidden; }
.gpp-benefit-grid { column-count: initial !important; display: grid !important; }

/* Branded footer */
.site-footer { background: #18231c !important; color: #edf1ec !important; padding: 0 !important; }
.site-footer > .col-full { margin: 0 auto !important; max-width: none !important; padding: 0 !important; }
.gpp-footer { margin: 0 auto; max-width: 1280px; padding: clamp(2.5rem,5vw,4.5rem) 24px 1.25rem; }
.gpp-footer__grid { display: grid; gap: clamp(2rem,5vw,4.5rem); grid-template-columns: 1.3fr .75fr .9fr; }
.gpp-footer h2,.gpp-footer h3 { color: #fff !important; font-family: Georgia,"Times New Roman",serif; margin: 0 0 .8rem; }
.gpp-footer h2 { font-size: clamp(1.9rem,3vw,2.8rem); }
.gpp-footer h3 { font-size: 1.2rem; }
.gpp-footer p,.gpp-footer address,.gpp-footer li { color: #d9e1da !important; line-height: 1.65; }
.gpp-footer__eyebrow { color: #efcc8f !important; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.gpp-footer a { color: #efcc8f !important; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.gpp-footer__cta { border: 1px solid rgba(239,204,143,.7); border-radius: 999px; display: inline-flex; font-weight: 800; margin-top: .5rem; padding: .65rem 1rem; text-decoration: none !important; }
.gpp-footer__cta:hover { background: #efcc8f; color: #18231c !important; }
.gpp-footer__nav ul { list-style: none; margin: 0; padding: 0; }
.gpp-footer__nav li { margin: 0 0 .45rem; }
.gpp-footer__contact address { font-style: normal; }
.gpp-footer__bottom { border-top: 1px solid rgba(255,255,255,.13); color: #acb9ae; display: flex; flex-wrap: wrap; font-size: .78rem; gap: .75rem 1.5rem; justify-content: space-between; margin-top: 2.5rem; padding-top: 1rem; }

@media (max-width: 1000px) {
  .gpp-photo-strip-grid,.gpp-gallery,.gpp-gallery-four,.gpp-gallery-five,.gpp-gallery-six,.gpp-gallery-seven { column-count: 3 !important; }
  .gpp-footer__grid { grid-template-columns: 1.2fr .8fr; }
  .gpp-footer__contact { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .gpp-announcement__inner { align-items: flex-start; flex-direction: column; gap: .35rem; padding: .7rem 1rem; text-align: left; }
  .gpp-announcement a { border-left: 0; padding-left: 0; white-space: normal; }
  .gpp-photo-strip-grid,.gpp-gallery,.gpp-gallery-four,.gpp-gallery-five,.gpp-gallery-six,.gpp-gallery-seven { column-count: 2 !important; column-gap: 2px !important; padding: 2px !important; }
  .gpp-photo-strip-grid img,.gpp-gallery img { margin-bottom: 2px !important; }
  .gpp-footer { padding: 2.5rem 18px 1rem; }
  .gpp-footer__grid { grid-template-columns: 1fr; }
  .gpp-footer__contact { grid-column: auto; }
  .gpp-footer__bottom { flex-direction: column; }
}
@media (max-width: 380px) {
  .gpp-photo-strip-grid,.gpp-gallery,.gpp-gallery-four,.gpp-gallery-five,.gpp-gallery-six,.gpp-gallery-seven { column-count: 1 !important; }
}

/* ==========================================================
   V10 FINAL GALLERY CORRECTION
   Preserve every photo's full intrinsic aspect ratio.
   ========================================================== */

/* Earlier containment rules could clip tall masonry items at section edges. */
.gpp-home section,
.gpp-home .gpp-photo-strip,
.gpp-home .gpp-gallery-section {
  contain: none !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
}

/* A true natural-ratio photo wall. */
.gpp-home .gpp-photo-strip-grid,
.gpp-home .gpp-gallery,
.gpp-home .gpp-gallery-four,
.gpp-home .gpp-gallery-five,
.gpp-home .gpp-gallery-six,
.gpp-home .gpp-gallery-seven {
  align-items: initial !important;
  column-count: 4 !important;
  column-fill: balance !important;
  column-gap: 3px !important;
  display: block !important;
  grid-auto-flow: initial !important;
  grid-auto-rows: initial !important;
  grid-template-columns: none !important;
  height: auto !important;
  max-height: none !important;
  max-width: 1500px !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 3px !important;
}

.gpp-home .gpp-photo-strip-grid > img,
.gpp-home .gpp-gallery > img,
.gpp-home .gpp-gallery-four > img,
.gpp-home .gpp-gallery-five > img,
.gpp-home .gpp-gallery-six > img,
.gpp-home .gpp-gallery-seven > img {
  align-self: auto !important;
  aspect-ratio: auto !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  break-inside: avoid-column !important;
  clip: auto !important;
  clip-path: none !important;
  display: inline-block !important;
  float: none !important;
  height: auto !important;
  inset: auto !important;
  margin: 0 0 3px !important;
  max-height: none !important;
  max-width: 100% !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  overflow: visible !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
  vertical-align: top !important;
  width: 100% !important;
}

/* Keep the natural wall responsive without reintroducing fixed frames. */
@media (max-width: 1000px) {
  .gpp-home .gpp-photo-strip-grid,
  .gpp-home .gpp-gallery,
  .gpp-home .gpp-gallery-four,
  .gpp-home .gpp-gallery-five,
  .gpp-home .gpp-gallery-six,
  .gpp-home .gpp-gallery-seven {
    column-count: 3 !important;
  }
}

@media (max-width: 700px) {
  .gpp-home .gpp-photo-strip-grid,
  .gpp-home .gpp-gallery,
  .gpp-home .gpp-gallery-four,
  .gpp-home .gpp-gallery-five,
  .gpp-home .gpp-gallery-six,
  .gpp-home .gpp-gallery-seven {
    column-count: 2 !important;
    column-gap: 2px !important;
    padding: 2px !important;
  }

  .gpp-home .gpp-photo-strip-grid > img,
  .gpp-home .gpp-gallery > img {
    margin-bottom: 2px !important;
  }
}

@media (max-width: 380px) {
  .gpp-home .gpp-photo-strip-grid,
  .gpp-home .gpp-gallery,
  .gpp-home .gpp-gallery-four,
  .gpp-home .gpp-gallery-five,
  .gpp-home .gpp-gallery-six,
  .gpp-home .gpp-gallery-seven {
    column-count: 1 !important;
  }
}

/* ==========================================================
   V11 HORIZONTAL PHOTO RAILS
   One aligned row, full photographs, sideways scrolling.
   ========================================================== */

.gpp-home .gpp-photo-strip,
.gpp-home .gpp-gallery-section {
  --gpp-rail-height: clamp(260px, 32vw, 430px);
  background: #17201b !important;
  contain: none !important;
  isolation: isolate;
  margin: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  padding: 14px 0 10px !important;
  position: relative;
}

.gpp-home .gpp-gallery-warm {
  background: linear-gradient(90deg, #d6c5aa, #e8dcc8, #d6c5aa) !important;
}

.gpp-home .gpp-gallery-dark {
  background: linear-gradient(90deg, #101713, #1b2820, #101713) !important;
}

/* Reset every previous grid, masonry, and column declaration. */
.gpp-home .gpp-photo-strip-grid,
.gpp-home .gpp-gallery,
.gpp-home .gpp-gallery-four,
.gpp-home .gpp-gallery-five,
.gpp-home .gpp-gallery-six,
.gpp-home .gpp-gallery-seven {
  align-items: center !important;
  column-count: initial !important;
  column-fill: auto !important;
  column-gap: normal !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  gap: 6px !important;
  grid-auto-flow: initial !important;
  grid-auto-rows: initial !important;
  grid-template-columns: none !important;
  height: calc(var(--gpp-rail-height) + 18px) !important;
  margin: 0 !important;
  max-height: none !important;
  max-width: none !important;
  min-height: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-inline: contain;
  padding: 0 max(18px, calc((100vw - 1500px) / 2)) 12px !important;
  scroll-behavior: smooth;
  scroll-padding-inline: 18px;
  scroll-snap-type: inline mandatory;
  scrollbar-color: #c99a58 rgba(255,255,255,.13);
  scrollbar-width: thin;
  touch-action: pan-x;
  width: 100% !important;
  -webkit-overflow-scrolling: touch;
}

.gpp-home .gpp-photo-strip-grid::-webkit-scrollbar,
.gpp-home .gpp-gallery::-webkit-scrollbar {
  height: 9px;
}
.gpp-home .gpp-photo-strip-grid::-webkit-scrollbar-track,
.gpp-home .gpp-gallery::-webkit-scrollbar-track {
  background: rgba(255,255,255,.12);
  border-radius: 999px;
}
.gpp-home .gpp-photo-strip-grid::-webkit-scrollbar-thumb,
.gpp-home .gpp-gallery::-webkit-scrollbar-thumb {
  background: #c99a58;
  border: 2px solid transparent;
  border-radius: 999px;
  background-clip: padding-box;
}

/* Uniform row height, but natural width. Nothing is cropped. */
.gpp-home .gpp-photo-strip-grid > img,
.gpp-home .gpp-gallery > img,
.gpp-home .gpp-gallery-four > img,
.gpp-home .gpp-gallery-five > img,
.gpp-home .gpp-gallery-six > img,
.gpp-home .gpp-gallery-seven > img {
  align-self: center !important;
  aspect-ratio: auto !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.18) !important;
  break-inside: auto !important;
  clip: auto !important;
  clip-path: none !important;
  display: block !important;
  flex: 0 0 auto !important;
  float: none !important;
  height: var(--gpp-rail-height) !important;
  inset: auto !important;
  margin: 0 !important;
  max-height: var(--gpp-rail-height) !important;
  max-width: min(82vw, 650px) !important;
  min-height: var(--gpp-rail-height) !important;
  object-fit: contain !important;
  object-position: center center !important;
  overflow: visible !important;
  padding: 0 !important;
  position: static !important;
  scroll-snap-align: start;
  scroll-snap-stop: normal;
  transform: none !important;
  vertical-align: middle !important;
  width: auto !important;
}

/* Warm rails use a softer shadow but still no frame/background around photos. */
.gpp-home .gpp-gallery-warm .gpp-gallery > img {
  box-shadow: 0 8px 20px rgba(66,45,22,.18) !important;
}

/* Controls injected by functions.php. */
.gpp-gallery-nav {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin: 0 auto 9px;
  max-width: 1500px;
  padding: 0 18px;
}
.gpp-gallery-nav__hint {
  color: rgba(255,255,255,.82);
  font-size: .76rem;
  font-weight: 750;
  letter-spacing: .04em;
  margin-right: auto;
  text-transform: uppercase;
}
.gpp-gallery-warm .gpp-gallery-nav__hint { color: #4b3824; }
.gpp-gallery-nav button {
  align-items: center;
  appearance: none;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font: 800 1.15rem/1 system-ui;
  height: 38px;
  justify-content: center;
  margin: 0;
  padding: 0;
  transition: background .18s ease, transform .18s ease;
  width: 38px;
}
.gpp-gallery-warm .gpp-gallery-nav button {
  background: rgba(53,75,57,.1);
  border-color: rgba(53,75,57,.35);
  color: #354b39;
}
.gpp-gallery-nav button:hover,
.gpp-gallery-nav button:focus-visible {
  background: #c99a58;
  border-color: #c99a58;
  color: #18231c;
  transform: translateY(-1px);
}
.gpp-gallery-nav button:disabled {
  cursor: default;
  opacity: .32;
  transform: none;
}

@media (max-width: 900px) {
  .gpp-home .gpp-photo-strip,
  .gpp-home .gpp-gallery-section { --gpp-rail-height: clamp(240px, 48vw, 360px); }
}

@media (max-width: 600px) {
  .gpp-home .gpp-photo-strip,
  .gpp-home .gpp-gallery-section {
    --gpp-rail-height: min(72vw, 320px);
    padding-top: 10px !important;
  }
  .gpp-home .gpp-photo-strip-grid,
  .gpp-home .gpp-gallery,
  .gpp-home .gpp-gallery-four,
  .gpp-home .gpp-gallery-five,
  .gpp-home .gpp-gallery-six,
  .gpp-home .gpp-gallery-seven {
    gap: 4px !important;
    padding-inline: 10px !important;
  }
  .gpp-home .gpp-photo-strip-grid > img,
  .gpp-home .gpp-gallery > img {
    border-radius: 7px !important;
    max-width: 88vw !important;
  }
  .gpp-gallery-nav {
    margin-bottom: 7px;
    padding-inline: 10px;
  }
  .gpp-gallery-nav__hint {
    font-size: .69rem;
    letter-spacing: .02em;
  }
  .gpp-gallery-nav button {
    height: 36px;
    width: 36px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gpp-home .gpp-photo-strip-grid,
  .gpp-home .gpp-gallery { scroll-behavior: auto; }
}

/* V12 SITE-WIDE PAGE SYSTEM */
body:not(.home) .site-content>.col-full{max-width:none;padding:0;margin:0}body:not(.home) #primary,body:not(.home) .content-area,body:not(.home) .site-main{float:none;width:100%;margin:0;padding:0}body:not(.home) .entry-header,body:not(.home) .storefront-breadcrumb,body:not(.home) #secondary{display:none}.gpp-page{background:#fbf8f1;color:#4c4a46;overflow:hidden}.gpp-page *{box-sizing:border-box}.gpp-page-shell{width:min(1180px,calc(100% - 40px));margin:auto}.gpp-page-hero{padding:clamp(2.2rem,5vw,5rem) 0;background:radial-gradient(circle at 90% 10%,rgba(180,123,42,.18),transparent 35%),linear-gradient(135deg,#fffdf8,#efe5d4)}.gpp-page-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}.gpp-page-hero h1,.gpp-page h2,.gpp-page h3{font-family:Georgia,serif;color:#22211f}.gpp-page-hero h1{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1;margin:.35rem 0 1rem}.gpp-page-lead{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65}.gpp-page-kicker{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:#835619}.gpp-page-hero figure{margin:0}.gpp-page-hero img{width:100%;max-height:520px;object-fit:cover;border-radius:28px;box-shadow:0 20px 55px rgba(39,32,22,.18)}.gpp-page-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.2rem}.gpp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.7rem 1.15rem;border-radius:999px;font-weight:850;text-decoration:none!important}.gpp-btn-primary{background:#354b39;color:#fff!important}.gpp-btn-secondary{border:2px solid #354b39;color:#354b39!important}.gpp-btn-light{background:#fff;color:#263b2d!important}.gpp-btn-outline{border:2px solid rgba(255,255,255,.7);color:#fff!important}.gpp-page-section{padding:clamp(2.5rem,5vw,5rem) 0}.gpp-section-sage{background:#354b39;color:#edf1ec}.gpp-section-sage h2,.gpp-section-sage h3{color:#fff}.gpp-section-sand{background:#efe5d4}.gpp-section-heading{max-width:760px;margin-bottom:1.6rem}.gpp-section-heading h2{font-size:clamp(1.9rem,3.5vw,3rem);margin:.3rem 0}.gpp-card-grid{display:grid;gap:1rem}.gpp-card-grid-3{grid-template-columns:repeat(3,1fr)}.gpp-card-grid-4{grid-template-columns:repeat(4,1fr)}.gpp-card-grid article,.gpp-parent-card,.gpp-inquiry-guide{background:#fff;border:1px solid #ded6c9;border-radius:18px;padding:1.3rem;box-shadow:0 10px 30px rgba(39,32,22,.08)}.gpp-card-grid article>span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e5c48d;font-weight:900}.gpp-checks{list-style:none;padding:0;margin:0}.gpp-checks li{position:relative;padding:.55rem 0 .55rem 1.5rem;border-bottom:1px solid #e7e0d6}.gpp-checks li:before{content:'✓';position:absolute;left:0;color:#5c705d;font-weight:900}.gpp-timeline{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(7,1fr);gap:.7rem;counter-reset:step}.gpp-timeline li{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.17);border-radius:14px;padding:1rem}.gpp-timeline strong,.gpp-timeline span{display:block}.gpp-timeline span{font-size:.85rem;margin-top:.4rem}.gpp-info-band,.gpp-notice{display:flex;align-items:center;gap:1rem;background:#fff;border-left:5px solid #b47b2a;padding:1rem 1.2rem;border-radius:12px;box-shadow:0 8px 25px rgba(39,32,22,.08)}.gpp-info-band a{margin-left:auto;font-weight:850}.gpp-calculator{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem;background:#fff;border:1px solid #ded6c9;border-radius:20px;padding:1.3rem;box-shadow:0 14px 35px rgba(39,32,22,.1)}.gpp-calculator__inputs{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.gpp-calculator label span{display:block;font-weight:800;margin-bottom:.35rem}.gpp-calculator input,.gpp-calculator select,.gpp-gallery-tools input{width:100%;min-height:46px;border:1px solid #cfc5b6;border-radius:9px;padding:.65rem;background:#fff}.gpp-choice{display:flex;align-items:center;gap:.6rem}.gpp-choice input{width:auto}.gpp-choice span{margin:0!important}.gpp-calculator__result{background:#354b39;color:#fff;border-radius:16px;padding:1.3rem;display:flex;flex-direction:column;justify-content:center}.gpp-calculator__result strong{font-size:2.3rem;color:#f2cf95}.gpp-price-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.gpp-price-cards article{background:#efe5d4;border-radius:14px;padding:1.1rem}.gpp-price-cards span,.gpp-price-cards strong{display:block}.gpp-price-cards strong{font-size:1.7rem;color:#354b39}.gpp-reading{max-width:820px}.gpp-faq details{background:#fff;border:1px solid #ded6c9;border-radius:12px;padding:0 1rem;margin:.6rem 0}.gpp-faq summary{font-weight:850;padding:1rem 0;cursor:pointer}.gpp-parent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gpp-parent-card{padding:0;overflow:hidden}.gpp-parent-card img{width:100%;aspect-ratio:1;object-fit:cover}.gpp-parent-card>div{padding:1.15rem}.gpp-parent-meta{font-weight:750;color:#5c705d}.gpp-text-button{border:0;background:none;color:#835619;font-weight:850;text-decoration:underline;cursor:pointer}.gpp-parent-card-horizontal{display:grid;grid-template-columns:280px 1fr;align-items:center}.gpp-video-dialog{width:min(850px,92vw);padding:3rem 1rem 1rem;border:0;border-radius:18px;background:#111}.gpp-video-dialog video{width:100%;max-height:75vh}.gpp-video-dialog button{position:absolute;right:10px;top:8px;border:0;background:#fff;border-radius:50%;width:34px;height:34px;font-size:1.3rem}.gpp-video-dialog::backdrop{background:rgba(0,0,0,.72)}.gpp-contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem}.gpp-contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.3rem}.gpp-contact-cards>*{background:#efe5d4;border-radius:12px;padding:1rem;text-decoration:none}.gpp-contact-cards span,.gpp-contact-cards strong{display:block}.gpp-form-wrap,.gpp-commerce-wrap{width:min(900px,calc(100% - 40px));margin:2.5rem auto!important;background:#fff;border:1px solid #ded6c9;border-radius:18px;padding:clamp(1rem,3vw,2rem)!important;box-shadow:0 12px 32px rgba(39,32,22,.1)}.gpp-page-cta{background:linear-gradient(135deg,#354b39,#213329);color:#fff;padding:clamp(2.5rem,5vw,4.5rem) 0}.gpp-page-cta>.gpp-page-shell{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem}.gpp-page-cta h2{color:#fff}.gpp-commerce-hero{background:#efe5d4;padding:2.5rem 0}.gpp-commerce-hero h1{font-size:clamp(2.3rem,5vw,4rem);margin:.3rem 0}.gpp-commerce-steps{display:flex;gap:.5rem;margin-top:1.2rem}.gpp-commerce-steps span{padding:.5rem .8rem;border-radius:999px;background:rgba(53,75,57,.1);font-weight:750}.gpp-commerce-steps .is-active{background:#354b39;color:#fff}.gpp-checkout-reminder{margin-top:1rem;background:#fff;border-left:5px solid #b47b2a;padding:1rem}.gpp-checkout-reminder>*{display:block}.gpp-commerce-help{padding:1rem 0;background:#354b39;color:#fff}.gpp-commerce-help>.gpp-page-shell{display:flex;gap:1rem;align-items:center}.gpp-commerce-help a{color:#f2cf95}.gpp-gallery-tools{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:end;margin-top:1.5rem}.gpp-gallery-tools button{min-height:46px;border:0;border-radius:999px;background:#354b39;color:#fff;padding:.6rem 1rem;font-weight:850}.gpp-past-content{padding:2rem 0}.gpp-past-content .wp-block-gallery{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important}.gpp-past-content .wp-block-gallery figure{display:block!important}.gpp-past-content .wp-block-gallery img{width:100%!important;aspect-ratio:1!important;object-fit:cover!important;border-radius:9px}.gpp-past-content .gpp-hidden-photo{display:none!important}.gpp-legacy-content>.gpp-page-shell>.wp-block-group{margin:2rem 0}.gpp-legacy-content h1{font-size:clamp(1.8rem,3vw,2.6rem)}
@media(max-width:900px){.gpp-page-hero__grid,.gpp-contact-layout,.gpp-page-cta>.gpp-page-shell{grid-template-columns:1fr}.gpp-card-grid-4,.gpp-parent-grid{grid-template-columns:repeat(2,1fr)}.gpp-timeline{grid-template-columns:repeat(2,1fr)}.gpp-contact-cards{grid-template-columns:1fr}.gpp-past-content .wp-block-gallery{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:650px){.gpp-page-shell{width:min(100% - 28px,1180px)}.gpp-page-hero{padding:2rem 0}.gpp-page-hero__grid{display:flex;flex-direction:column-reverse}.gpp-card-grid-3,.gpp-card-grid-4,.gpp-parent-grid,.gpp-price-cards,.gpp-calculator,.gpp-calculator__inputs{grid-template-columns:1fr}.gpp-timeline{grid-template-columns:1fr}.gpp-parent-card-horizontal{grid-template-columns:1fr}.gpp-info-band{align-items:flex-start;flex-direction:column}.gpp-info-band a{margin-left:0}.gpp-gallery-tools{grid-template-columns:1fr}.gpp-past-content .wp-block-gallery{grid-template-columns:repeat(2,1fr)!important}.gpp-commerce-steps span{font-size:.78rem}.gpp-commerce-help>.gpp-page-shell{align-items:flex-start;flex-direction:column}}


/* ==========================================================
   V13 COMPLETE LEGACY CLEANUP AND OPERATIONS REDESIGN
   ========================================================== */
body:not(.home) .page.type-page>.entry-header,body:not(.home) .woocommerce-products-header,body:not(.home) .entry-title{display:none!important}.gpp-hero-facts{display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;margin:1.2rem 0 0;padding:0}.gpp-hero-facts li{background:rgba(53,75,57,.09);border-radius:999px;color:#354b39;font-size:.8rem;font-weight:800;padding:.45rem .7rem}.gpp-status-strip{background:#18231c;color:#fff}.gpp-status-strip>.gpp-page-shell{align-items:center;display:flex;gap:1rem;min-height:64px}.gpp-status-strip p{margin:0}.gpp-status-strip a{color:#efcc8f;font-weight:850;margin-left:auto}.gpp-live-dot{background:#79c78b;border-radius:50%;box-shadow:0 0 0 6px rgba(121,199,139,.13);display:inline-block;height:9px;margin-right:.6rem;width:9px}.gpp-litter-card{background:#fff;border:1px solid #ded6c9;border-radius:24px;box-shadow:0 18px 50px rgba(39,32,22,.12);display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden}.gpp-litter-card__gallery{background:#18231c;display:grid;grid-template-columns:repeat(2,1fr);gap:5px;padding:5px}.gpp-litter-card__gallery button,.gpp-large-archive button{background:none;border:0;cursor:zoom-in;margin:0;padding:0}.gpp-litter-card__gallery img{display:block;height:100%;max-height:650px;object-fit:cover;width:100%}.gpp-litter-card__body{padding:clamp(1.4rem,4vw,3rem)}.gpp-litter-card__body h3{font-size:clamp(2rem,4vw,3.2rem);margin:.65rem 0}.gpp-badge-row{display:flex;flex-wrap:wrap;gap:.45rem}.gpp-status-badge{background:#efe5d4;border-radius:999px;color:#4c3825;font-size:.76rem;font-weight:900;padding:.45rem .7rem;text-transform:uppercase}.gpp-status-badge.is-available{background:#dff1e3;color:#285837}.gpp-litter-summary{font-size:1.05rem;line-height:1.65}.gpp-litter-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin:1.3rem 0}.gpp-litter-facts>div{background:#fbf8f1;border-radius:12px;padding:.85rem}.gpp-litter-facts dt{color:#756b5e;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.gpp-litter-facts dd{color:#22211f;font-size:1.02rem;font-weight:850;margin:.2rem 0 0}.gpp-capacity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gpp-capacity-grid article{background:#fff;border-radius:18px;padding:1.4rem;box-shadow:0 10px 30px rgba(39,32,22,.08)}.gpp-capacity-number{color:#354b39;font-family:Georgia,serif;font-size:3rem;font-weight:800}.gpp-private-note{background:#fff;border-left:5px solid #b47b2a;border-radius:14px;margin-top:1rem;padding:1.3rem}.gpp-private-note ol{margin-bottom:0}.gpp-process-track{display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem}.gpp-process-track article{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:15px;padding:1rem}.gpp-process-track span{align-items:center;background:#e5c48d;border-radius:50%;color:#22211f;display:flex;font-weight:900;height:34px;justify-content:center;width:34px}.gpp-process-track h3,.gpp-process-track h2{color:#fff;font-size:1.1rem;margin:.75rem 0 .4rem}.gpp-process-track p{font-size:.88rem;margin:0}.gpp-process-track-3{grid-template-columns:repeat(3,1fr)}.gpp-process-track-3 article{background:#354b39;color:#edf1ec}.gpp-social-showcase{background:linear-gradient(135deg,#fffdf8,#efe5d4)}.gpp-social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.gpp-social-card{background:linear-gradient(145deg,#fff,#f8eee0);border:1px solid #ded6c9;border-radius:16px;color:#22211f!important;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;gap:.15rem .7rem;padding:1rem;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease}.gpp-social-card:hover{box-shadow:0 12px 28px rgba(39,32,22,.12);transform:translateY(-2px)}.gpp-social-card__icon{align-items:center;background:linear-gradient(135deg,#7b3f9b,#d96664,#e4a448);border-radius:12px;color:#fff;display:flex;font-size:1.3rem;grid-row:1/3;height:42px;justify-content:center;width:42px}.gpp-social-card strong{align-self:end}.gpp-social-card small{color:#766c60}.gpp-social-card__arrow{grid-column:3;grid-row:1/3;align-self:center;color:#835619;font-size:1.2rem}.gpp-embed-card,.gpp-reviews-card{background:#fff;border:1px solid #ded6c9;border-radius:20px;padding:clamp(1rem,3vw,2rem);box-shadow:0 12px 32px rgba(39,32,22,.09)}.gpp-large-archive{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.5vw,18px)}.gpp-archive-photo{background:#18231c;border-radius:16px;box-shadow:0 10px 28px rgba(39,32,22,.11);margin:0;overflow:hidden}.gpp-archive-photo img{display:block;height:clamp(380px,48vw,680px);object-fit:contain;width:100%}.gpp-archive-photo.is-deferred{display:none}.gpp-show-more-wrap{display:flex;justify-content:center;margin-top:1.5rem}.gpp-payment-intro{background:linear-gradient(135deg,#fffdf8,#efe5d4);padding:clamp(2.5rem,6vw,5.5rem) 0}.gpp-payment-intro>.gpp-page-shell{align-items:center;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,5vw,4rem)}.gpp-payment-intro h1{font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,4.7rem);line-height:1;margin:.45rem 0 1rem}.gpp-payment-check{background:#fff;border:1px solid #ded6c9;border-radius:20px;box-shadow:0 18px 45px rgba(39,32,22,.12);padding:1.4rem}.gpp-payment-check>span{color:#835619;font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.gpp-approval-banner{align-items:center;background:#efe5d4;border-left:5px solid #b47b2a;border-radius:13px;display:flex;gap:1rem;margin-top:1rem;padding:1rem 1.2rem}.gpp-approval-banner a{margin-left:auto;font-weight:850}.gpp-image-dialog{background:#111;border:0;border-radius:18px;max-height:92vh;padding:46px 12px 12px;width:min(1100px,94vw)}.gpp-image-dialog::backdrop{background:rgba(0,0,0,.82)}.gpp-image-dialog img{display:block;max-height:82vh;object-fit:contain;width:100%}.gpp-image-dialog button{background:#fff;border:0;border-radius:50%;font-size:1.35rem;height:34px;position:absolute;right:10px;top:8px;width:34px}
@media(max-width:1000px){.gpp-social-grid{grid-template-columns:repeat(3,1fr)}.gpp-process-track{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.gpp-litter-card,.gpp-payment-intro>.gpp-page-shell{grid-template-columns:1fr}.gpp-litter-card__gallery img{max-height:520px}.gpp-capacity-grid{grid-template-columns:1fr}.gpp-social-grid{grid-template-columns:repeat(2,1fr)}.gpp-status-strip>.gpp-page-shell{align-items:flex-start;flex-direction:column;gap:.35rem;padding-block:.8rem}.gpp-status-strip a{margin-left:0}.gpp-approval-banner{align-items:flex-start;flex-direction:column}.gpp-approval-banner a{margin-left:0}}
@media(max-width:580px){.gpp-litter-card__gallery{grid-template-columns:1fr}.gpp-litter-card__gallery img{height:auto;max-height:none}.gpp-litter-facts,.gpp-social-grid,.gpp-large-archive,.gpp-process-track,.gpp-process-track-3{grid-template-columns:1fr}.gpp-archive-photo img{height:auto;max-height:78vh}.gpp-social-card{min-height:80px}}

/* V14 SOLD-OUT AVAILABILITY PAGE */
.gpp-sold-out-hero{background:radial-gradient(circle at 88% 12%,rgba(180,123,42,.2),transparent 32%),linear-gradient(135deg,#fffdf8,#efe5d4);padding:clamp(2.5rem,6vw,5.5rem) 0}.gpp-sold-out-hero__grid{align-items:center;display:grid;gap:clamp(1.5rem,5vw,4rem);grid-template-columns:1.08fr .92fr}.gpp-sold-out-badge{background:#6b342f;border-radius:999px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:900;letter-spacing:.1em;margin:.5rem 0 1rem;padding:.5rem .8rem;text-transform:uppercase}.gpp-sold-out-hero h1{color:#22211f;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.5rem,5vw,4.8rem);line-height:1;margin:0 0 1rem}.gpp-sold-out-hero__image{background:#18231c;border-radius:28px;margin:0;overflow:hidden;padding:8px;box-shadow:0 20px 55px rgba(39,32,22,.18)}.gpp-sold-out-hero__image img{border-radius:21px;display:block;height:clamp(320px,42vw,560px);object-fit:contain;width:100%}.gpp-next-litters{padding:clamp(3rem,6vw,5.5rem) 0}.gpp-mom-reservation-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.gpp-mom-reservation-grid article{background:#fff;border:1px solid #ded6c9;border-radius:20px;box-shadow:0 12px 30px rgba(39,32,22,.09);overflow:hidden}.gpp-mom-reservation-grid img{aspect-ratio:1/1;display:block;object-fit:cover;width:100%}.gpp-mom-reservation-grid article>div{padding:1.2rem}.gpp-mom-reservation-grid h3{font-size:1.6rem;margin:.2rem 0 .4rem}.gpp-mom-label{color:#835619;font-size:.7rem;font-weight:900;letter-spacing:.1em;margin:0;text-transform:uppercase}.gpp-sold-out-steps{display:grid;gap:.8rem;grid-template-columns:repeat(4,1fr)}.gpp-sold-out-steps article{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.17);border-radius:16px;padding:1.1rem}.gpp-sold-out-steps span{align-items:center;background:#e5c48d;border-radius:50%;color:#22211f;display:flex;font-weight:900;height:34px;justify-content:center;width:34px}.gpp-sold-out-steps h3{color:#fff;margin:.7rem 0 .35rem}.gpp-sold-out-steps p{margin:0}.gpp-sold-out-note{align-items:center;background:#fff;border-left:5px solid #b47b2a;border-radius:18px;box-shadow:0 12px 32px rgba(39,32,22,.09);display:grid;gap:1.5rem;grid-template-columns:1fr auto;padding:clamp(1.4rem,3vw,2.2rem)}
@media(max-width:900px){.gpp-sold-out-hero__grid,.gpp-sold-out-note{grid-template-columns:1fr}.gpp-mom-reservation-grid{grid-template-columns:repeat(2,1fr)}.gpp-sold-out-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.gpp-sold-out-hero{padding:2rem 0}.gpp-sold-out-hero__grid{display:flex;flex-direction:column-reverse}.gpp-sold-out-hero__image{border-radius:18px;width:100%}.gpp-sold-out-hero__image img{border-radius:12px;height:auto;max-height:70vh}.gpp-mom-reservation-grid,.gpp-sold-out-steps{grid-template-columns:1fr}.gpp-sold-out-note .gpp-page-actions{align-items:stretch;flex-direction:column}.gpp-sold-out-note .gpp-btn{width:100%}}
