.gpw-catalogue,.gpw-showcase{box-sizing:border-box;max-width:1320px;width:100%;margin:clamp(2rem,5vw,5rem) auto;padding:clamp(1rem,3vw,2.5rem);color:var(--ink,#16191D);background:var(--paper,#F4F1EA);font-family:var(--font-body,Inter,sans-serif)}
.gpw-catalogue *,.gpw-showcase *{box-sizing:border-box}
/* A surrounding theme section already supplies its gutters and spacing. */
.section .gpw-showcase{max-width:none;margin:28px 0;padding:0}
.section .gpw-showcase .gpw-catalogue__body{padding:12px}
.gpw-catalogue header{max-width:760px;margin-bottom:2rem}
.gpw-catalogue h2{font-family:var(--font-display,"Barlow Condensed",sans-serif);font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.1;margin:.5rem 0 1rem}
.gpw-catalogue__eyebrow{font:600 13px var(--font-display,"Barlow Condensed",sans-serif);text-transform:uppercase;letter-spacing:.14em;color:var(--rust,#B5532A);margin:0}
.gpw-catalogue p{line-height:1.65}
.gpw-catalogue__grid,.gpw-showcase__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.gpw-catalogue__card{position:relative;min-width:0;overflow:hidden;background:var(--card,#fff);border:1px solid var(--line,#DDD6CA);border-radius:6px;box-shadow:0 1px 2px rgba(11,20,30,.06);display:flex;flex-direction:column;transition:transform .4s,box-shadow .4s}
.gpw-catalogue__card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(11,20,30,.14)}
.gpw-catalogue__photos{position:relative;z-index:2;overflow:hidden}
.gpw-catalogue__photos figure{margin:0}
.gpw-catalogue__image-button{display:block;width:100%;min-height:44px;padding:0;border:0;border-radius:0;background:var(--card,#fff);cursor:zoom-in;overflow:hidden}
.gpw-catalogue__photos img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .4s}
.gpw-catalogue__card:hover .gpw-catalogue__photos img{transform:scale(1.04)}
.gpw-catalogue__card[data-gpw-fit="contain"] .gpw-catalogue__photos img{object-fit:contain;background:#EFEAE0;padding:8%}
.gpw-catalogue__body{padding:1.25rem;display:flex;flex:1;flex-direction:column;align-items:flex-start;overflow-wrap:anywhere}
.gpw-catalogue__body h3{font:600 22px/1.3 var(--font-body,Inter,sans-serif);margin:0 0 .6rem}
.gpw-catalogue__body>p,.gpw-catalogue__details>p{font-size:17px;line-height:1.65;margin:.5rem 0 1rem}
.gpw-catalogue__details{display:flex;flex:1;flex-direction:column;align-items:flex-start;width:100%;min-width:0}
/* Shared per-row tracks: photo, variants, variable-height title, example badge, details.
   Subgrid is progressive enhancement; older engines keep the ordered flex cards. */
@supports(grid-template-rows:subgrid){
/* Keep the inter-card gutter outside shared tracks, so empty tracks add no phantom gaps. */
.gpw-catalogue__grid,.gpw-showcase[data-gpw-showcase="portfolio"] .gpw-showcase__grid{row-gap:0;margin-bottom:calc(-1 * clamp(16px,2vw,28px))}
.gpw-catalogue__grid>.gpw-catalogue__card,.gpw-showcase[data-gpw-showcase="portfolio"] .gpw-showcase__grid>.gpw-catalogue__card{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0;margin-bottom:clamp(16px,2vw,28px)}
.gpw-catalogue__card[data-gpw-panels]>.gpw-catalogue__body{display:grid;grid-row:2/span 4;grid-template-rows:subgrid;row-gap:0;align-items:stretch}
.gpw-catalogue__card[data-gpw-panels]>.gpw-catalogue__body>.gpw-catalogue__options{grid-row:1;align-self:start}
.gpw-catalogue__card[data-gpw-panels]>.gpw-catalogue__body>h3{grid-row:2;align-self:start}
.gpw-catalogue__card[data-gpw-panels]>.gpw-catalogue__body>.gpw-catalogue__badge--example{grid-row:3;align-self:start}
.gpw-catalogue__card[data-gpw-panels]>.gpw-catalogue__body>.gpw-catalogue__details{grid-row:4}
}
.gpw-catalogue__badge--example{font-size:12px;color:var(--muted,#5E636A)}
.gpw-catalogue__specs{width:100%;font-size:14px;margin:.25rem 0 1rem}
.gpw-catalogue__specs>div{display:flex;gap:.75rem;border-top:1px solid var(--line,#DDD6CA);padding:.4rem 0}
.gpw-catalogue__specs dt{font-weight:600;min-width:4.5rem}
.gpw-catalogue__specs dd{margin:0}
.gpw-catalogue__cta{margin-top:auto;display:inline-flex;align-items:center;min-height:44px;color:var(--rust,#B5532A);font-size:15px;font-weight:600;line-height:1.5;text-decoration:none;gap:.3em}
.gpw-catalogue__cta::after{content:"";position:absolute;inset:0;z-index:1}
.gpw-catalogue__cta:hover{color:var(--rust-dark,#8E3F1F);text-decoration:underline}
.gpw-catalogue__cta:focus-visible::after{outline:3px solid var(--rust,#B5532A);outline-offset:-4px}
.gpw-catalogue :focus-visible,.gpw-showcase :focus-visible,.gpw-lightbox :focus-visible{outline:3px solid var(--rust,#B5532A);outline-offset:3px}
.gpw-catalogue__pages{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;margin-top:2rem}
.gpw-catalogue__pages a,.gpw-catalogue__prompt a{display:inline-flex;align-items:center;min-height:44px;color:var(--rust,#B5532A);font-weight:600}
.gpw-catalogue__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.gpw-catalogue [hidden],.gpw-showcase [hidden],.gpw-lightbox[hidden]{display:none!important}
.gpw-catalogue__options,.gpw-catalogue__filters{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .75rem}
.gpw-catalogue__options button,.gpw-catalogue__filters button{font:600 14px/1.4 var(--font-body,Inter,sans-serif);min-height:44px;min-width:44px;white-space:normal;overflow-wrap:anywhere;border:1px solid var(--line,#DDD6CA);border-radius:999px;padding:.5rem .8rem;background:var(--card,#fff);color:var(--ink,#16191D);cursor:pointer}
.gpw-catalogue__options button[aria-pressed="true"],.gpw-catalogue__filters button[aria-pressed="true"]{background:var(--rust,#B5532A);color:var(--card,#fff);border-color:var(--rust,#B5532A)}
.gpw-gallery-editor [data-gpw-row]{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;border-top:1px solid var(--line,#DDD6CA);padding:.8rem 0}
.gpw-gallery-editor [data-gpw-thumb] img{width:80px;height:80px;object-fit:contain}
@media(min-width:1024px){.gpw-catalogue[data-gpw-category="canvas"] .gpw-catalogue__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:600px) and (max-width:1023px){.gpw-catalogue__grid,.gpw-showcase__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.gpw-catalogue__grid,.gpw-showcase__grid{grid-template-columns:1fr}.gpw-showcase[data-gpw-showcase="portfolio"] .gpw-showcase__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gpw-showcase[data-gpw-showcase="portfolio"] .gpw-catalogue__body h3{font-size:18px}}
/* Home category entry points stay legible in two columns; featured photos remain one column. */
@media(min-width:375px) and (max-width:599px){
.home .collection-grid,.home .collection-grid>.wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr))}
.home .collection-grid .collection-card h3{padding:0 10px;margin-top:12px}
.home .collection-grid .collection-card h3 a{gap:4px;min-height:44px}
.home .collection-grid .collection-card p{padding:0 10px 12px}
}
.gpw-showcase__more{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:44px;margin-top:24px;padding:0 22px;border:0;border-radius:4px;background:var(--rust,#B5532A);color:var(--card,#fff);font:600 15px/1.4 var(--font-body,Inter,sans-serif);cursor:pointer}
.gpw-showcase__more:hover{background:var(--rust-dark,#8E3F1F)}
.gpw-showcase__link{display:flex;flex:1;flex-direction:column;min-height:44px;color:var(--ink,#16191D);text-decoration:none}
.gpw-showcase__tag{font-size:14px;font-weight:600;color:var(--rust,#B5532A)}
.gpw-catalogue__photos noscript a,.gpw-catalogue__status a{position:relative;z-index:2;display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--rust,#B5532A)}
.gpw-lightbox-open{overflow:hidden}
.gpw-lightbox{width:min(94vw,1180px);max-width:94vw;max-height:94vh;padding:0;border:1px solid var(--line,#DDD6CA);border-radius:6px;background:var(--paper,#F4F1EA);color:var(--ink,#16191D);font-family:var(--font-body,Inter,sans-serif)}
.gpw-lightbox::backdrop{background:rgba(11,20,30,.85)}
.gpw-lightbox__content{padding:clamp(16px,3vw,28px)}
.gpw-lightbox h2{font:600 24px/1.2 var(--font-display,"Barlow Condensed",sans-serif);margin:0 0 .5rem}
.gpw-lightbox button{min-width:44px;min-height:44px;font:600 15px/1.4 var(--font-body,Inter,sans-serif);background:var(--card,#fff);color:var(--rust,#B5532A);border:1px solid var(--line,#DDD6CA);border-radius:4px;padding:.5rem 1rem;cursor:pointer}
.gpw-lightbox button:disabled{opacity:.5;cursor:default}
.gpw-lightbox figure{margin:1rem 0}
.gpw-lightbox img{display:block;width:100%;height:min(60vh,760px);object-fit:contain}
.gpw-lightbox figcaption{font-size:14px;line-height:1.5;overflow-wrap:anywhere;margin-top:.5rem}
.gpw-lightbox__navigation{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
@media(prefers-reduced-motion:reduce){.gpw-catalogue *,.gpw-showcase *,.gpw-lightbox *{transition:none!important;animation:none!important;scroll-behavior:auto!important}.gpw-catalogue__card:hover,.gpw-catalogue__card:hover .gpw-catalogue__photos img{transform:none}}
