.pg-gallery{--pg-cd:4;--pg-ct:3;--pg-cm:2;--pg-cols:var(--pg-cd);--pg-gap:14px;--pg-ratio:3 / 2;--pg-fit:cover;--pg-title:15px;--pg-meta:13px;--pg-text:16px;box-sizing:border-box;max-width:100%}
.pg-gallery,.pg-overlay{box-sizing:border-box}
.pg-gallery *,.pg-overlay *{box-sizing:border-box}
@media (max-width:900px){.pg-gallery{--pg-cols:var(--pg-ct)}}
@media (max-width:600px){.pg-gallery{--pg-cols:var(--pg-cm)}}

.pg-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 10px}
.pg-count{font-size:var(--pg-meta);margin:0 0 12px}
.pg-grid{display:grid;grid-template-columns:repeat(var(--pg-cols),minmax(0,1fr));gap:var(--pg-gap)}
.pg-more{margin:16px 0;text-align:center}
.pg-pic{aspect-ratio:var(--pg-ratio);border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#e6e6e6,#e6e6e6 8px,#f4f4f4 8px,#f4f4f4 16px)}
.pg-pic img{width:100%;height:100%;object-fit:var(--pg-fit);display:block}
.pg-auto .pg-pic{aspect-ratio:auto;min-height:60px}
.pg-auto .pg-pic img{height:auto;max-height:none}
.pg-ph{font-size:var(--pg-meta);padding:4px;text-align:center}
.pg-title{margin:7px 2px 0;font-size:var(--pg-title);font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.pg-sub{margin:1px 2px 2px;font-size:var(--pg-meta);overflow-wrap:anywhere}
.pg-none{grid-column:1/-1}
.pg-lock{overflow:hidden}

.pg-overlay{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.7);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:16px;font-size:var(--pg-text,16px)}
.pg-dialog{position:relative;width:100%;max-width:900px;margin:auto 0;border-radius:12px;padding:20px;font-size:var(--pg-text,16px)}
.pg-dialog:focus{outline:none}
.pg-x{position:absolute;top:4px;right:6px;min-width:44px;min-height:44px;font-size:1.9em;line-height:1;cursor:pointer}
.pg-figs{display:flex;gap:14px;flex-wrap:wrap;margin:6px 0 12px;padding-right:0}
.pg-fig{margin:0;flex:1 1 300px;min-width:0}
.pg-fig-big{flex-basis:100%}
.pg-bigpic{border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:120px}
.pg-bigpic img{max-width:100%;height:auto;display:block}
.pg-fig figcaption{font-size:.85em;text-align:center;margin-top:4px}
.pg-h{margin:6px 0 2px;font-size:1.4em;line-height:1.25}
.pg-meta{margin:0 0 8px;font-size:.92em}
.pg-desc{margin:0 0 10px;font-size:1em}
.pg-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pg-btn,.pg-seg{font-family:system-ui,sans-serif;font-weight:600;font-size:.9em;border-radius:8px;padding:10px 14px;cursor:pointer;text-decoration:none;display:inline-block;line-height:1.3;text-align:center}
.pg-segs{display:inline-flex}
.pg-seg{border-radius:0}
.pg-seg:first-child{border-radius:8px 0 0 8px}
.pg-seg:last-child{border-radius:0 8px 8px 0;margin-left:-1px}

/* Phones and small tablets */
@media (max-width:640px){
	.pg-toolbar>*{flex:1 1 100%}
	.pg-segs{display:flex;width:100%}
	.pg-seg{flex:1}
	.pg-overlay{padding:8px}
	.pg-dialog{padding:14px}
	.pg-fig{flex-basis:100%}
	.pg-actions .pg-btn{flex:1 1 calc(50% - 8px)}
	.pg-h{padding-right:40px}
}

/* Explicit colours so theme styles cannot override them */
.pg-gallery,.pg-gallery .pg-count{color:inherit}
.pg-gallery .pg-tile,.pg-gallery .pg-tile:hover,.pg-gallery .pg-tile:focus{display:block;width:100%;text-align:left;padding:8px;background:#fff!important;color:#222!important;border:1px solid #8c8c8c!important;border-radius:10px;box-shadow:none;cursor:pointer;font:inherit}
.pg-gallery .pg-tile:hover,.pg-gallery .pg-tile:focus{border-color:#b5482f!important}
.pg-gallery .pg-title{color:#222!important}
.pg-gallery .pg-sub,.pg-gallery .pg-ph{color:#555!important}
.pg-gallery .pg-toolbar select,.pg-gallery .pg-toolbar input{background:#fff!important;color:#222!important;border:1px solid #767676!important;border-radius:6px;padding:10px;font:inherit;font-size:1rem;max-width:100%;box-shadow:none}
.pg-gallery .pg-toolbar .pg-search{flex:1 1 260px;min-width:200px}
.pg-gallery .pg-toolbar input:focus,.pg-gallery .pg-toolbar select:focus{outline:2px solid #b5482f;outline-offset:1px}
.pg-gallery .pg-seg{background:#fff!important;color:#222!important;border:1px solid #767676!important}
.pg-gallery .pg-seg.pg-on{background:#b5482f!important;color:#fff!important;border-color:#b5482f!important}
.pg-gallery .pg-more .pg-btn,.pg-gallery .pg-more .pg-btn:hover{background:#b5482f!important;color:#fff!important;border:1px solid #b5482f!important}
.pg-overlay .pg-dialog{background:#fff!important;color:#222!important}
.pg-overlay .pg-dialog .pg-h,.pg-overlay .pg-dialog .pg-desc{color:#222!important}
.pg-overlay .pg-dialog .pg-meta,.pg-overlay .pg-dialog figcaption,.pg-overlay .pg-dialog .pg-ph{color:#555!important}
.pg-overlay .pg-dialog figcaption a{color:#b5482f!important}
.pg-overlay .pg-bigpic{background:#f1f1f1}
.pg-overlay .pg-dialog .pg-btn,.pg-overlay .pg-dialog .pg-btn:hover,.pg-overlay .pg-dialog .pg-link{background:#fff!important;color:#b5482f!important;border:1px solid #b5482f!important}
.pg-overlay .pg-dialog .pg-btn-main,.pg-overlay .pg-dialog .pg-btn-main:hover{background:#b5482f!important;color:#fff!important}
.pg-overlay .pg-dialog .pg-x,.pg-overlay .pg-dialog .pg-x:hover{background:transparent!important;color:#333!important;border:0!important;box-shadow:none}
