/* v2.0.4 — editable Gutenberg Home + managed menus */
.pps-front-page-content > .wp-block-group.alignfull { margin-left: 0; margin-right: 0; }
.pps-front-page-content .alignwide { max-width: 1320px; margin-left: auto; margin-right: auto; }
.pps-home-paths { gap: 28px; }
.pps-home-paths > .wp-block-column { margin: 0; }
.pps-home-image { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: #ded8cc; }
.pps-home-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pps-home-image-placeholder { min-height: 320px; background: #ded8cc; }
.pps-front-page-content .wp-block-button.pps-btn .wp-block-button__link,
.pps-front-page-content .wp-block-button .wp-block-button__link { border: 1px solid #171714; border-radius: 0; background: transparent; color: #171714; font-weight: 700; padding: 14px 22px; }
.pps-front-page-content .wp-block-button.pps-btn--dark .wp-block-button__link { background: #171714; color: #fff; }
.pps-nav .pps-nav__menu { display:flex; align-items:center; gap:32px; list-style:none; margin:0; padding:0; }
.pps-nav .pps-nav__menu li { margin:0; }
.pps-nav .pps-nav__menu a { text-decoration:none; }
.pps-nav .sub-menu { position:absolute; z-index:30; min-width:220px; background:#f5f1e9; border:1px solid rgba(0,0,0,.12); padding:10px 0; margin:10px 0 0; list-style:none; display:none; }
.pps-nav li { position:relative; }
.pps-nav li:hover > .sub-menu, .pps-nav li:focus-within > .sub-menu { display:block; }
.pps-nav .sub-menu a { display:block; padding:10px 16px; }
.pps-footer-menu__list { display:flex; flex-wrap:wrap; gap:18px; list-style:none; padding:18px 0 0; margin:0; }
@media (max-width: 900px){
  .pps-nav .pps-nav__menu { display:block; }
  .pps-nav .sub-menu { position:static; display:block; border:0; padding-left:16px; margin:0; background:transparent; }
  .pps-home-paths { display:block; }
  .pps-home-paths > .wp-block-column + .wp-block-column { margin-top:24px; }
}

/* v2.0.6: editable menus must remain usable even before final menu cleanup. */
@media (min-width: 1101px){
  .pps-header__inner{min-height:104px;height:auto;padding-top:14px;padding-bottom:14px}
  .pps-nav .pps-nav__menu{gap:18px;flex-wrap:wrap;justify-content:center;line-height:1.2}
  .pps-nav .pps-nav__menu > li > a{font-size:17px;font-weight:600;letter-spacing:.01em}
}

/* v2.0.8 — deterministic equal-height Home card media. */
@media (min-width: 901px){
  .pps-front-page-content .pps-home-paths > .wp-block-column,
  .pps-front-page-content .pps-card{display:flex;flex-direction:column;align-self:stretch}
  .pps-front-page-content .pps-home-image,
  .pps-front-page-content figure.pps-home-image,
  .pps-front-page-content .wp-block-image.pps-home-image{width:100%;height:320px;min-height:320px;max-height:320px;aspect-ratio:auto;margin:0!important;overflow:hidden;flex:0 0 320px}
  .pps-front-page-content .pps-home-image img,
  .pps-front-page-content figure.pps-home-image img,
  .pps-front-page-content .wp-block-image.pps-home-image img{width:100%!important;height:320px!important;min-height:320px!important;max-height:320px!important;object-fit:cover!important;object-position:center!important;display:block!important}
  .pps-front-page-content .pps-home-image-placeholder{height:320px;min-height:320px;max-height:320px;flex:0 0 320px}
}
@media (max-width: 900px){
  .pps-front-page-content .pps-home-image,
  .pps-front-page-content figure.pps-home-image,
  .pps-front-page-content .wp-block-image.pps-home-image{height:auto;min-height:0;max-height:none;aspect-ratio:4/3}
  .pps-front-page-content .pps-home-image img,
  .pps-front-page-content figure.pps-home-image img,
  .pps-front-page-content .wp-block-image.pps-home-image img{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover!important}
}

/* v2.1.3 — robust Gutenberg Home cards.
   Force both paths to use the same card model even if Gutenberg has slightly
   different nesting between the two columns. No text may sit over the media. */
.pps-front-page-content .pps-home-paths > .wp-block-column{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid var(--pps-line)!important;
  background:rgba(255,255,255,.16)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
.pps-front-page-content .pps-home-paths > .wp-block-column > figure,
.pps-front-page-content .pps-home-paths > .wp-block-column > .wp-block-image{
  position:relative!important;
  z-index:1!important;
  margin:0!important;
}
.pps-front-page-content .pps-home-paths > .wp-block-column > .wp-block-group,
.pps-front-page-content .pps-home-paths > .wp-block-column > .pps-card__body{
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
  width:100%!important;
  margin:0!important;
  padding:34px!important;
  background:var(--pps-cream)!important;
  color:var(--pps-ink)!important;
  flex:1 1 auto!important;
}
.pps-front-page-content .pps-home-paths > .wp-block-column > p,
.pps-front-page-content .pps-home-paths > .wp-block-column > h2,
.pps-front-page-content .pps-home-paths > .wp-block-column > h3,
.pps-front-page-content .pps-home-paths > .wp-block-column > .wp-block-buttons{
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
  width:auto!important;
  margin-left:34px!important;
  margin-right:34px!important;
  color:var(--pps-ink)!important;
}
.pps-front-page-content .pps-home-paths > .wp-block-column > figure + p,
.pps-front-page-content .pps-home-paths > .wp-block-column > .wp-block-image + p,
.pps-front-page-content .pps-home-paths > .wp-block-column > figure + h2,
.pps-front-page-content .pps-home-paths > .wp-block-column > .wp-block-image + h2{
  margin-top:30px!important;
}

/* Buttons: never allow black text on a black background after click/tap/focus. */
.pps-front-page-content .wp-block-button.pps-btn--dark .wp-block-button__link,
.pps-front-page-content .wp-block-button.pps-btn--dark .wp-block-button__link:visited{
  background:var(--pps-ink)!important;
  border-color:var(--pps-ink)!important;
  color:#fff!important;
}
.pps-front-page-content .wp-block-button.pps-btn--dark .wp-block-button__link:hover,
.pps-front-page-content .wp-block-button.pps-btn--dark .wp-block-button__link:focus,
.pps-front-page-content .wp-block-button.pps-btn--dark .wp-block-button__link:focus-visible,
.pps-front-page-content .wp-block-button.pps-btn--dark .wp-block-button__link:active{
  background:var(--pps-bordeaux)!important;
  border-color:var(--pps-bordeaux)!important;
  color:#fff!important;
  outline:none!important;
}
.woocommerce a.button:focus,
.woocommerce a.button:active,
.woocommerce button.button:focus,
.woocommerce button.button:active,
.woocommerce input.button:focus,
.woocommerce input.button:active,
.woocommerce #respond input#submit:focus,
.woocommerce #respond input#submit:active{
  background:var(--pps-bordeaux)!important;
  color:#fff!important;
  border-color:var(--pps-bordeaux)!important;
  outline:none!important;
}

/* v2.1.6 — hard override for Gutenberg/global styles that can repaint the
   text of dark Home buttons black after interaction. Any Home button that is
   rendered with the theme's dark treatment keeps white text in every state. */
.pps-front-page-content .wp-block-button.pps-btn--dark > a.wp-block-button__link,
.pps-front-page-content .wp-block-button.pps-btn--dark > a.wp-element-button,
.pps-front-page-content .wp-block-button.pps-btn--dark > a.wp-block-button__link:link,
.pps-front-page-content .wp-block-button.pps-btn--dark > a.wp-block-button__link:visited,
.pps-front-page-content .wp-block-button.pps-btn--dark > a.wp-block-button__link:hover,
.pps-front-page-content .wp-block-button.pps-btn--dark > a.wp-block-button__link:focus,
.pps-front-page-content .wp-block-button.pps-btn--dark > a.wp-block-button__link:focus-visible,
.pps-front-page-content .wp-block-button.pps-btn--dark > a.wp-block-button__link:active,
.pps-front-page-content a.wp-block-button__link.has-background,
.pps-front-page-content a.wp-block-button__link.has-background:link,
.pps-front-page-content a.wp-block-button__link.has-background:visited,
.pps-front-page-content a.wp-block-button__link.has-background:hover,
.pps-front-page-content a.wp-block-button__link.has-background:focus,
.pps-front-page-content a.wp-block-button__link.has-background:active{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
}
.pps-front-page-content .wp-block-button.pps-btn--dark > a.wp-block-button__link,
.pps-front-page-content .wp-block-button.pps-btn--dark > a.wp-element-button{
  background-color:var(--pps-ink)!important;
  border-color:var(--pps-ink)!important;
}
.pps-front-page-content .wp-block-button.pps-btn--dark > a.wp-block-button__link:hover,
.pps-front-page-content .wp-block-button.pps-btn--dark > a.wp-block-button__link:focus,
.pps-front-page-content .wp-block-button.pps-btn--dark > a.wp-block-button__link:focus-visible,
.pps-front-page-content .wp-block-button.pps-btn--dark > a.wp-block-button__link:active{
  background-color:var(--pps-bordeaux)!important;
  border-color:var(--pps-bordeaux)!important;
}

@media (max-width: 900px){
  .pps-front-page-content .pps-home-paths > .wp-block-column > .wp-block-group,
  .pps-front-page-content .pps-home-paths > .wp-block-column > .pps-card__body{padding:26px!important}
  .pps-front-page-content .pps-home-paths > .wp-block-column > p,
  .pps-front-page-content .pps-home-paths > .wp-block-column > h2,
  .pps-front-page-content .pps-home-paths > .wp-block-column > h3,
  .pps-front-page-content .pps-home-paths > .wp-block-column > .wp-block-buttons{margin-left:26px!important;margin-right:26px!important}
  .pps-nav .pps-nav__menu > li > a{font-size:17px;font-weight:600}
}
