/*
Theme Name: The Pixel Playground Blocks
Author: The Pixel Playground
Description: Editable WordPress full-site block theme for The Pixel Playground. Use Appearance > Editor for site-wide changes. Keeps the Pixel Playground Core plugin separate.
Version: 1.0.8
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: pixel-playground-blocks
*/
:root{--pp-navy:#002250;--pp-red:#B20000;--pp-gold:#D9BB6A}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--pp-gold);outline-offset:3px}img{max-width:100%;height:auto}.wp-site-blocks{overflow-x:clip}.pp-upper{letter-spacing:.12em}.pp-hero-title em{color:var(--pp-gold);font-weight:normal}.pp-marble-frame{box-shadow:12px 12px 0 var(--pp-gold);outline:6px solid white}.pp-category-card{border:1px solid #dfe5ea;background:white}.pp-category-card img{aspect-ratio:4/3;object-fit:cover}.pp-link-red a{color:var(--pp-red)!important}.pp-site-footer a{color:white}.pp-icon-link a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;min-width:36px}.pp-icon-link svg{width:21px;height:21px;fill:none;stroke:var(--pp-navy);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pp-price{font-family:Arial,sans-serif;font-weight:700}.pp-price sup{font-size:.45em;vertical-align:super}.pp-card-category{min-height:2.8em;line-height:1.4}.pp-card-title{min-height:2.6em;line-height:1.3}.pp-card-note{min-height:2.8em}.woocommerce ul.products li.product img{aspect-ratio:4/3;object-fit:cover}.woocommerce ul.products li.product .woocommerce-loop-product__title{font:700 18px/1.3 Georgia,serif;min-height:2.6em}.woocommerce ul.products li.product .price{font:700 24px Arial,sans-serif;color:var(--pp-navy)}.woocommerce a.button,.woocommerce button.button{background:var(--pp-red);color:#fff;border-radius:3px}.pp-collection-tile{border:1px solid #dde5ed}.pp-collection-tile .wp-block-cover{min-height:160px!important}.pp-collection-tile .wp-block-group{padding:16px}.pp-collection-tile .wp-block-heading{margin:0 0 10px}.pp-collection-tile a{text-decoration:none;color:var(--pp-red)}@media(max-width:781px){.pp-hero-columns{flex-direction:column!important}.pp-header-main{flex-wrap:wrap}.pp-hero h1{font-size:clamp(40px,9vw,65px)!important}.pp-collection-columns{flex-wrap:wrap!important}.pp-collection-columns>.wp-block-column{flex-basis:calc(50% - 10px)!important;flex-grow:1!important}}@media(max-width:430px){.pp-collection-columns>.wp-block-column{flex-basis:calc(50% - 8px)!important}.pp-header-logo img{max-width:190px;height:auto}.pp-site-navigation .wp-block-navigation__container{gap:12px}}

/* Native editable placeholder group replaces invalid Cover markup. */
.pp-collection-placeholder{min-height:160px;padding:12px!important;display:flex;align-items:center;justify-content:center;background:#e8eef3}.pp-collection-placeholder p{margin:0!important;color:#657b90;white-space:normal;overflow-wrap:normal;font-family:Arial,sans-serif;font-weight:700}.pp-collection-tile .pp-collection-placeholder{padding:12px!important}

/* v1.0.2: consistent reserved two-line card typography */
.pp-collection-tile .pp-card-category{font:700 11px/1.4 Arial,sans-serif!important;letter-spacing:.03em;color:var(--pp-red);height:2.8em;min-height:2.8em;max-height:2.8em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 8px!important;padding:0!important}
.pp-collection-tile .pp-card-title{font:700 18px/1.3 Georgia,serif!important;color:var(--pp-navy);height:2.6em;min-height:2.6em;max-height:2.6em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 10px!important;padding:0!important}
.pp-collection-tile .pp-collection-placeholder + .wp-block-group{padding:16px!important}
.pp-hero .wp-block-button.is-style-outline .wp-block-button__link{border-color:#fff;color:#fff}

/* v1.0.3: premium hero + category gateways + consistent button weight */
.pp-hero .pp-hero-spark{display:flex;align-items:center;justify-content:center;margin:0 auto!important;max-width:100%;}
.pp-hero .pp-hero-spark img{display:block;width:min(100%,340px)!important;height:auto!important;object-fit:contain;filter:drop-shadow(0 9px 16px rgba(0,0,0,.14));}
.pp-hero .pp-hero-title{font-size:clamp(36px,4.1vw,62px)!important;line-height:1.11;}
@media(min-width:1100px){.pp-hero .pp-hero-title em{white-space:nowrap;}}
.wp-block-button__link,.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce button.button.alt{font-family:Arial,sans-serif;font-weight:700!important;}
.pp-collection-columns{gap:12px!important;}
.pp-category-gateway{height:100%;}
.pp-category-gateway .pp-collection-placeholder{min-height:120px!important;height:120px!important;}
.pp-category-gateway .pp-collection-placeholder + .wp-block-group{padding:12px 13px!important;}
.pp-category-gateway .pp-card-title{font:700 19px/1.2 Georgia,serif!important;height:auto!important;min-height:0!important;max-height:none!important;display:block!important;margin:0 0 6px!important;}
.pp-category-gateway .wp-block-group>p{margin:0!important;font:700 12px/1.35 Arial,sans-serif;}
.pp-category-gateway .wp-block-group>p a{color:var(--pp-red)!important;}
.pp-collection-benefit{margin-top:22px!important;padding:22px 24px!important;background:#edf2f6;border-left:4px solid var(--pp-gold);}
.pp-collection-benefit h3{font:700 clamp(21px,2.1vw,28px)/1.25 Georgia,serif!important;color:var(--pp-navy);margin:0 0 8px;}
.pp-collection-benefit p{font-family:Arial,sans-serif;line-height:1.55;margin:0;max-width:760px;}
@media(max-width:781px){.pp-hero .pp-hero-title{font-size:clamp(37px,8vw,53px)!important}.pp-hero .pp-hero-spark img{width:min(70vw,300px)!important}.pp-category-gateway .pp-collection-placeholder{height:115px!important;min-height:115px!important}}

/* v1.0.4: one-row, genuinely centered desktop navigation; responsive header and hero */
.pp-site-header .pp-header-main{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;align-items:center!important;column-gap:20px!important;max-width:none!important;width:100%;box-sizing:border-box;flex-wrap:nowrap!important;}
.pp-header-main > .wp-block-image{grid-column:1;justify-self:start;margin:0!important;min-width:0;}
.pp-header-main > .wp-block-navigation{grid-column:2;justify-self:center;margin:0!important;min-width:0;}
.pp-header-main > .wp-block-group{grid-column:3;justify-self:end;margin:0!important;min-width:0;}
.pp-header-main .wp-block-navigation-item__label{font:600 16px/1.3 Arial,sans-serif;}
.pp-header-main .wp-block-navigation__container{column-gap:24px!important;}
.pp-site-header .pp-header-main .pp-header-logo img{display:block;height:auto;max-width:100%;}
.pp-site-header .pp-icon-link{gap:14px!important;white-space:nowrap;}
.pp-site-header .pp-icon-link a{min-width:28px;min-height:38px;}
.pp-site-header .pp-upper{font-size:clamp(10px,1.1vw,14px)!important;line-height:1.35!important;}
@media(max-width:781px){
 .pp-site-header .pp-header-main{grid-template-columns:minmax(0,1fr) auto auto!important;column-gap:9px!important;row-gap:0!important;padding:12px 16px!important;}
 .pp-header-main > .wp-block-image{grid-column:1;grid-row:1;}
 .pp-header-main > .wp-block-group{grid-column:2;grid-row:1;justify-self:end;}
 .pp-header-main > .wp-block-navigation{grid-column:3;grid-row:1;justify-self:end;}
 .pp-header-main .pp-header-logo img{width:min(100%,170px)!important;max-width:170px!important;}
 .pp-site-header .pp-icon-link{gap:6px!important;}
 .pp-site-header .pp-icon-link svg{width:19px;height:19px;}
 .pp-site-header .pp-icon-link a{min-width:25px;min-height:34px;}
 .pp-header-main .wp-block-navigation__responsive-container-open{display:flex!important;align-items:center;}
 .pp-header-main .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important;}
 .pp-header-main .wp-block-navigation__responsive-container-open svg{width:27px;height:27px;}
 .pp-hero{padding-top:38px!important;padding-bottom:38px!important;}
 .pp-hero .wp-block-buttons{gap:10px 12px!important;}
 .pp-hero .pp-hero-spark{margin-top:10px!important;}
 .pp-hero .pp-hero-spark img{width:min(54vw,220px)!important;}
}
@media(max-width:430px){
 .pp-header-main .pp-header-logo img{max-width:145px!important;}
 .pp-site-header .pp-icon-link{gap:3px!important;}
 .pp-site-header .pp-icon-link a{min-width:23px!important;}
 .pp-site-header .pp-icon-link svg{width:18px;height:18px;}
 .pp-hero .wp-block-buttons{align-items:center;}
 .pp-hero .wp-block-button__link{padding:11px 17px!important;}
}


/* v1.0.5 - contained header / clean responsive actions / feature-band collection story. */
@media(min-width:782px){
  .pp-site-header .pp-header-main{
    width:100%!important;max-width:1080px!important;margin-left:auto!important;margin-right:auto!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    column-gap:28px!important;padding-inline:clamp(20px,2.8vw,38px)!important;
  }
  .pp-header-main > .wp-block-image{justify-self:start!important;}
  .pp-header-main > .wp-block-navigation{justify-self:center!important;}
  .pp-header-main > .wp-block-group{justify-self:end!important;}
}
.pp-site-header .pp-header-main > .wp-block-group{align-self:center!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;}
.pp-site-header .pp-icon-link{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:flex-end!important;gap:15px!important;}
.pp-site-header .pp-icon-link a{width:32px!important;height:38px!important;min-width:32px!important;min-height:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;}
.pp-site-header .pp-icon-link svg{display:block;width:21px!important;height:21px!important;}
@media(max-width:781px){
 .pp-site-header .pp-header-main{grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important;min-height:0!important;padding:10px 14px!important;align-items:center!important;}
 .pp-header-main > .wp-block-image{grid-column:1!important;grid-row:1!important;align-self:center!important;}
 .pp-header-main > .wp-block-group{grid-column:2!important;grid-row:1!important;align-self:center!important;justify-self:end!important;}
 .pp-header-main > .wp-block-navigation{grid-column:3!important;grid-row:1!important;align-self:center!important;justify-self:end!important;}
 .pp-site-header .pp-icon-link{gap:4px!important;}
 .pp-site-header .pp-icon-link a{width:26px!important;min-width:26px!important;height:34px!important;min-height:34px!important;}
 .pp-site-header .pp-icon-link svg{width:20px!important;height:20px!important;}
 .pp-header-main .wp-block-navigation__responsive-container-open{margin:0!important;padding:0!important;min-width:30px;min-height:34px;justify-content:center;}
 .pp-header-main .wp-block-navigation__responsive-container-open svg{width:26px!important;height:26px!important;}
}
@media(max-width:430px){
 .pp-header-main .pp-header-logo img{width:clamp(125px,36vw,155px)!important;max-width:100%!important;}
 .pp-site-header .pp-header-main{padding-inline:11px!important;gap:5px!important;}
 .pp-site-header .pp-icon-link{gap:0!important;}
 .pp-site-header .pp-icon-link a{width:25px!important;min-width:25px!important;}
 .pp-site-header .pp-icon-link svg{width:19px!important;height:19px!important;}
}

/* Collection buying message should feel like a featured campaign, not a notice box. */
.pp-collection-benefit{
 width:100vw!important;max-width:none!important;position:relative;
 margin:clamp(32px,5vw,64px) 0 0 calc(50% - 50vw)!important;
 padding:clamp(48px,6.5vw,88px) max(24px,calc((100vw - 1080px)/2))!important;
 border:0!important;border-top:4px solid var(--pp-gold)!important;
 background:var(--pp-navy)!important;color:#fff!important;text-align:center!important;
 display:flex!important;flex-direction:column;align-items:center;justify-content:center;
 min-height:270px;
}
.pp-collection-benefit:before{content:'FLEXIBLE COLLECTION PRICING';display:block;font:700 12px/1.35 Arial,sans-serif;letter-spacing:.18em;color:var(--pp-gold);margin-bottom:20px;}
.pp-collection-benefit h3{font:700 clamp(27px,3.35vw,46px)/1.16 Georgia,serif!important;color:#fff!important;max-width:850px;margin:0 auto 18px!important;text-wrap:balance;}
.pp-collection-benefit p{font:400 clamp(15px,1.5vw,19px)/1.6 Arial,sans-serif!important;color:#e2eaf4!important;max-width:790px!important;margin:0 auto!important;text-wrap:pretty;}
@media(max-width:781px){.pp-collection-benefit{min-height:0!important;padding:44px 22px!important;margin-top:34px!important}.pp-collection-benefit:before{font-size:10px;letter-spacing:.12em;margin-bottom:14px}.pp-collection-benefit h3{font-size:clamp(27px,7vw,38px)!important;margin-bottom:16px!important}.pp-collection-benefit p{font-size:16px!important}}

/* Balanced site footer, including older saved footer patterns still in the database. */
.pp-site-footer{color:#fff!important;}
.pp-site-footer > .wp-block-columns.pp-footer-columns{width:100%;max-width:1080px;margin:0 auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center;}
.pp-site-footer .pp-footer-brand{min-width:0;}
.pp-site-footer .pp-footer-links{text-align:right;}
.pp-site-footer .pp-footer-links p{margin:0 0 12px!important;}
.pp-site-footer .pp-footer-links a{display:inline-block;margin:3px 6px;}
.pp-site-footer .pp-footer-brand h2{margin:0 0 14px!important;}
/* If the site editor has retained the earlier flat footer, balance its existing blocks without discarding edits. */
.pp-site-footer:not(:has(.pp-footer-columns)){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:36px;align-items:center;}
.pp-site-footer:not(:has(.pp-footer-columns)) > h2,.pp-site-footer:not(:has(.pp-footer-columns)) > p:nth-of-type(1){grid-column:1;}
.pp-site-footer:not(:has(.pp-footer-columns)) > p:nth-of-type(2),.pp-site-footer:not(:has(.pp-footer-columns)) > p:nth-of-type(3){grid-column:2;text-align:right;}
@media(max-width:700px){
 .pp-site-footer > .wp-block-columns.pp-footer-columns{grid-template-columns:1fr;gap:18px;}
 .pp-site-footer .pp-footer-links{text-align:left;}
 .pp-site-footer:not(:has(.pp-footer-columns)){grid-template-columns:1fr!important;}
 .pp-site-footer:not(:has(.pp-footer-columns)) > *{grid-column:1!important;text-align:left!important;}
}

/* v1.0.6: precise header-only geometry for both stock and editor-saved Header parts. */
@media (min-width:782px){
 .pp-site-header .pp-header-main{
   display:grid!important;
   grid-template-columns:minmax(0,1fr) minmax(max-content,1fr) minmax(0,1fr)!important;
   align-items:center!important;justify-items:stretch!important;
   width:min(100%,1080px)!important;max-width:1080px!important;
   margin-inline:auto!important;padding:16px 24px!important;
   min-height:92px!important;column-gap:18px!important;
 }
 .pp-site-header .pp-header-main > .wp-block-image{grid-column:1!important;justify-self:start!important;align-self:center!important;}
 .pp-site-header .pp-header-main > .wp-block-navigation{grid-column:2!important;justify-self:center!important;align-self:center!important;}
 .pp-site-header .pp-header-main > .wp-block-group{grid-column:3!important;justify-self:end!important;align-self:center!important;}
 .pp-site-header .pp-header-logo img{width:225px!important;max-width:100%!important;height:auto!important;display:block!important;}
}
.pp-site-header .pp-header-main > .wp-block-group,
.pp-site-header .pp-header-main > .wp-block-group > .wp-block-group{
 display:flex!important;align-items:center!important;justify-content:flex-end!important;
 min-height:0!important;margin-block:0!important;
}
.pp-site-header .pp-header-main .pp-icon-link{
 display:flex!important;align-items:center!important;justify-content:flex-end!important;
 gap:14px!important;line-height:1!important;margin:0!important;
}
.pp-site-header .pp-header-main .pp-icon-link a{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 flex-shrink:0!important;width:32px!important;height:36px!important;
 min-width:32px!important;min-height:36px!important;line-height:0!important;
}
.pp-site-header .pp-header-main .pp-icon-link svg{display:block!important;width:21px!important;height:21px!important;vertical-align:middle!important;}
.pp-site-header .pp-header-main > .wp-block-navigation{margin-block:0!important;line-height:1.25!important;}
@media(max-width:781px){
 .pp-site-header .pp-header-main{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;column-gap:7px!important;
  padding:10px 14px!important;min-height:74px!important;
 }
 .pp-site-header .pp-header-main > .wp-block-image{grid-column:1!important;grid-row:1!important;align-self:center!important;}
 .pp-site-header .pp-header-main > .wp-block-group{grid-column:2!important;grid-row:1!important;align-self:center!important;}
 .pp-site-header .pp-header-main > .wp-block-navigation{grid-column:3!important;grid-row:1!important;align-self:center!important;}
 .pp-site-header .pp-header-logo img{width:min(100%,165px)!important;max-width:165px!important;}
 .pp-site-header .pp-header-main .pp-icon-link{gap:3px!important;}
 .pp-site-header .pp-header-main .pp-icon-link a{width:27px!important;min-width:27px!important;height:33px!important;min-height:33px!important;}
 .pp-site-header .pp-header-main .pp-icon-link svg{width:19px!important;height:19px!important;}
 .pp-site-header .pp-header-main .wp-block-navigation__responsive-container-open{width:32px!important;min-width:32px!important;height:33px!important;min-height:33px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;}
}
@media(max-width:430px){
 .pp-site-header .pp-header-main{padding-inline:10px!important;column-gap:4px!important;}
 .pp-site-header .pp-header-logo img{width:min(100%,138px)!important;max-width:138px!important;}
 .pp-site-header .pp-header-main .pp-icon-link{gap:1px!important;}
 .pp-site-header .pp-header-main .pp-icon-link a{width:24px!important;min-width:24px!important;}
 .pp-site-header .pp-header-main .pp-icon-link svg{width:18px!important;height:18px!important;}
}


/* v1.0.7: V2 baseline — align logo with hero content and truly center navigation horizontally. */
@media(min-width:782px){
 .pp-site-header .pp-header-main{
  width:calc(100% - 48px)!important;
  max-width:1120px!important;
  padding:16px 0!important;
  margin-left:auto!important;margin-right:auto!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  column-gap:18px!important;
 }
 .pp-site-header .pp-header-main > .wp-block-image{grid-column:1!important;grid-row:1!important;justify-self:start!important;}
 .pp-site-header .pp-header-main > .wp-block-navigation{grid-column:2!important;grid-row:1!important;justify-self:center!important;}
 .pp-site-header .pp-header-main > .wp-block-group{grid-column:3!important;grid-row:1!important;justify-self:end!important;}
 .pp-site-header .pp-header-main .pp-icon-link{align-items:center!important;justify-content:center!important;}
}

/* v1.0.9: lower desktop header action icons to share the navigation centerline. */
@media (min-width:782px){
 .pp-site-header .pp-header-main .pp-icon-link{transform:translateY(9px)!important;}
}
