/* Studio page theme (merch "G" layouts; inspired by a handmade-ceramics studio page).
 * Loaded by the Page Studio `page-theme` block (theme = studio). Every rule is scoped
 * under body:has(.pb-theme-studio), so nothing leaks onto other pages.
 * Look: calm ivory page, rounded INSET cards instead of edge-to-edge bands, one warm
 * accent for pill buttons, dark muted bands for the CTA and reviews.
 * Variants: a = statues (bronze), b = stickers (brick), c = apparel (tan / sage).
 * Layout conventions a seeder can opt into with a block anchor:
 *   …-split  rich-text / gallery-feature: heading left, text right
 *   …-strip  gallery-tiles: a 6-across square photo strip with no captions */
body:has(.pb-theme-studio){
  --st-bg:#F6F3EE;--st-card:#ECE7DF;--st-ink:#23211D;--st-muted:#66615A;--st-line:#DCD5CA;
  --st-dark:#2F3833;--st-dark-ink:#F1EEE7;--st-accent:#A27A4A;--st-radius:18px;
  --gx-bg:var(--st-bg);--gx-alt:var(--st-card);--gx-ink:var(--st-ink);--gx-muted:var(--st-muted);--gx-line:var(--st-line);
  --gx-accent:var(--st-accent);--gx-dark:var(--st-dark);--gx-dark-ink:var(--st-dark-ink);--gx-dark-muted:#B9B4AA;
  --gx-plate:#FBF9F5;--gx-spot:rgba(255,248,232,.7);--xp-radius:var(--st-radius);
  background:var(--st-bg);
}
body:has(.pb-theme-studio.pb-tv-a){--st-accent:#9A7442;--st-dark:#2E2A24;}
body:has(.pb-theme-studio.pb-tv-b){--st-accent:#A24B32;--st-dark:#2F3833;}
body:has(.pb-theme-studio.pb-tv-c){--st-accent:#A27A4A;--st-dark:#2F3833;}
body:has(.pb-theme-studio) .pb-theme{display:none;}

/* Type: one display face, generous and quiet. */
body:has(.pb-theme-studio) :is(.gx-h2,.pb-rich h2.serif,.pb-faq-heading,.tmonials h2.serif,.section-head h2){font-weight:400;font-size:clamp(1.8rem,1.2rem + 1.8vw,2.7rem);line-height:1.12;letter-spacing:-.01em;color:var(--st-ink);text-wrap:balance;}
body:has(.pb-theme-studio) :is(.gx-display,.pb-hero h1){font-weight:400;letter-spacing:-.015em;text-wrap:balance;}
body:has(.pb-theme-studio) .gx-eyebrow,body:has(.pb-theme-studio) .rubric{color:var(--st-muted);letter-spacing:.18em;}
body:has(.pb-theme-studio) .rubric::before{display:none;}

/* Buttons: warm pill primary, white pill secondary. */
body:has(.pb-theme-studio) :is(.btn-solid,.gx-btn){border-radius:999px;background:var(--st-accent);border-color:var(--st-accent);color:#fff;padding:15px 28px;}
body:has(.pb-theme-studio) :is(.btn-solid,.gx-btn):hover{filter:brightness(1.07);background:var(--st-accent);}
body:has(.pb-theme-studio) .btn-ghost{border-radius:999px;background:#fff;border-color:#fff;color:var(--st-ink);}
body:has(.pb-theme-studio) .gx-link{color:var(--st-ink);}

/* Inset card helper: the bands below sit inside the page with rounded corners. */
body:has(.pb-theme-studio) :is(.pb-hero,.pb-cta,.tmonials,.pb-faq,.gx-feature.gx-tone-ink){
  box-sizing:border-box;width:min(1400px,calc(100% - 2 * max(16px,2vw)));max-width:none;align-self:center;
  margin:24px auto;border-radius:var(--st-radius);overflow:hidden;
}

/* Hero: photo card, title + buttons centered over it. */
body:has(.pb-theme-studio) .pb-hero{min-height:clamp(380px,44vw,560px);display:flex;align-items:center;}
body:has(.pb-theme-studio) .pb-hero .pb-hero-inner{text-align:center;justify-content:center;}
body:has(.pb-theme-studio) .pb-hero .pb-hero-copy{margin:0 auto;max-width:760px;}
body:has(.pb-theme-studio) .pb-hero .pb-hero-ctas{justify-content:center;}
body:has(.pb-theme-studio) .pb-hero .pb-hero-scrim{background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.45));}

/* Dark CTA card. */
body:has(.pb-theme-studio) .pb-cta{background:var(--st-dark);color:var(--st-dark-ink);text-align:center;}
body:has(.pb-theme-studio) .pb-cta .pb-cta-inner{justify-content:center;text-align:center;flex-direction:column;}
body:has(.pb-theme-studio) .pb-cta :is(h2,.serif){color:var(--st-dark-ink);}

/* Reviews: dark inset card. */
body:has(.pb-theme-studio) .tmonials{background:var(--st-dark);}
body:has(.pb-theme-studio) .tmonials h2.serif{color:var(--st-dark-ink);}
body:has(.pb-theme-studio) .tmonials .praise-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08);border-radius:12px;}

/* FAQ: grey rounded panel, questions as white rounded rows in two columns. */
body:has(.pb-theme-studio) .pb-faq{background:var(--st-card);padding:clamp(40px,5vw,72px) 0;}
body:has(.pb-theme-studio) .pb-faq-heading{text-align:center;margin-bottom:28px;}
body:has(.pb-theme-studio) .pb-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;align-items:start;}
body:has(.pb-theme-studio) .pb-faq-item{background:#fff;border:1px solid var(--st-line);border-radius:12px;padding:4px 18px;}
@media(max-width:760px){body:has(.pb-theme-studio) .pb-faq-list{grid-template-columns:minmax(0,1fr);}}

/* Feature: photo with a white text card overlapping it (Black Oak "built for scale"). */
body:has(.pb-theme-studio) .gx-feature.gx-tone-linen{background:transparent;box-sizing:border-box;width:min(1400px,100%);align-self:center;margin:24px auto;padding:0 max(16px,2vw);grid-template-columns:62fr 38fr;align-items:center;}
body:has(.pb-theme-studio) .gx-feature.gx-tone-linen .gx-feature-media{border-radius:var(--st-radius);overflow:hidden;min-height:clamp(360px,40vw,560px);}
body:has(.pb-theme-studio) .gx-feature.gx-tone-linen .gx-feature-copy{background:#fff;border-radius:var(--st-radius);margin-left:-18%;position:relative;z-index:1;box-shadow:0 24px 50px -30px rgba(0,0,0,.35);padding:clamp(28px,3vw,48px);}
body:has(.pb-theme-studio) .gx-feature.gx-tone-linen.gx-img-right .gx-feature-copy{margin-left:0;margin-right:-18%;}
@media(max-width:760px){
  body:has(.pb-theme-studio) .gx-feature.gx-tone-linen{grid-template-columns:minmax(0,1fr);}
  body:has(.pb-theme-studio) .gx-feature.gx-tone-linen .gx-feature-copy,
  body:has(.pb-theme-studio) .gx-feature.gx-tone-linen.gx-img-right .gx-feature-copy{margin:-40px 14px 0;}
}
/* Dark feature: a rounded inset story card. */
body:has(.pb-theme-studio) .gx-feature.gx-tone-ink{background:var(--st-dark);}

/* Split: heading left, text right (anchor ending in -split). */
body:has(.pb-theme-studio) .pb-rich[id$="-split"] .pb-rich-inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 64px;text-align:left;max-width:1200px;}
body:has(.pb-theme-studio) .pb-rich[id$="-split"] .pb-rich-body p{max-width:62ch;margin-left:0;}
@media(max-width:760px){body:has(.pb-theme-studio) .pb-rich[id$="-split"] .pb-rich-inner{grid-template-columns:minmax(0,1fr);}}

/* Category / photo tiles: rounded photos, plain text under. */
body:has(.pb-theme-studio) .gx-tile-img{border-radius:var(--st-radius);overflow:hidden;}
body:has(.pb-theme-studio) .gx-tiles{background:transparent;}
/* Photo strip (anchor ending in -strip): 6 square photos, no captions. */
body:has(.pb-theme-studio) .gx-tiles[id$="-strip"] .gx-tile-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;}
body:has(.pb-theme-studio) .gx-tiles[id$="-strip"] .gx-tile-img{aspect-ratio:1/1;border-radius:12px;}
body:has(.pb-theme-studio) .gx-tiles[id$="-strip"] .gx-tile-text{display:none;}
@media(max-width:760px){body:has(.pb-theme-studio) .gx-tiles[id$="-strip"] .gx-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}

/* Product cards and showcases: rounded image wells, quiet type. */
body:has(.pb-theme-studio) .fp-bs-product .fp-bs-prodimage{background:var(--st-card);border-radius:14px;overflow:hidden;}
body:has(.pb-theme-studio) .fp-bs-product .fp-bs-prodname,
body:has(.pb-theme-studio) .fp-bs-product .fp-bs-prodname a{font-family:Fraunces,Georgia,serif;font-weight:400;color:var(--st-ink);}
body:has(.pb-theme-studio) .fp-bs-products .fp-bs-qbuybutton .ectbutton.fp-bs-qbuybutton,
body:has(.pb-theme-studio) .fp-bs-products .prodaddtocart:has(.buybutton) .ectbutton.buybutton{background:var(--st-ink);border-radius:0 0 14px 14px;}
body:has(.pb-theme-studio) :is(.sc-plinth .sc-fig,.sc-plates .sc-item,.tl-rail .tl-fig){border-radius:14px;}
body:has(.pb-theme-studio) .mx-add{border-radius:999px;}
body:has(.pb-theme-studio) .pb-ctabs-bar{border-radius:999px;}
body:has(.pb-theme-studio) :is(.pb-trust,.section.ectblock,.pb-rich,.sc,.tl){background:transparent;}
body:has(.pb-theme-studio) .image-pair img,body:has(.pb-theme-studio) .pb-media img{border-radius:var(--st-radius);}
body:has(.pb-theme-studio) .xp > .wrap{max-width:1400px;}
