/* Tokens: Labs green carries the one bold move; everything else stays quiet. Override any of these in your theme. */
.lpg,.lpg-block{--lpg-accent:#1f6b45;--lpg-accent-ink:#fff;--lpg-line:#dbe3dd;--lpg-muted:#5b6b62;--lpg-surface:#fff;--lpg-note:#eef3ef;--lpg-bar-bg:#fff;--lpg-sticky-top:0px;--lpg-font-display:inherit}
.lpg{margin:1.5em 0}
.lpg *,.lpg-block *{box-sizing:border-box}

/* Note above the gallery */
.lpg-note{background:var(--lpg-note);border:1px solid var(--lpg-line);border-radius:6px;padding:12px 16px;font-size:.875em;color:var(--lpg-muted);max-width:76ch;margin:0 0 28px}

/* Filter bar: one row of pill buttons with the count on the right */
.lpg-bar{background:var(--lpg-bar-bg);border-block:1px solid var(--lpg-line);padding:12px 0;margin-bottom:8px}
.lpg-bar.is-sticky{position:sticky;top:calc(var(--lpg-sticky-top) + env(safe-area-inset-top,0px));z-index:5}
.admin-bar .lpg-bar.is-sticky{top:calc(var(--lpg-sticky-top) + 32px)}
@media (max-width:782px){.admin-bar .lpg-bar.is-sticky{top:calc(var(--lpg-sticky-top) + 46px)}}
.lpg-bar-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.lpg-status{margin-left:auto;font-size:.8125em;color:var(--lpg-muted)}
.lpg-chip{font:inherit;font-size:.875em;font-weight:500;line-height:1.2;padding:7px 14px;border:1px solid var(--lpg-line);border-radius:999px;background:var(--lpg-surface);color:inherit;cursor:pointer}
.lpg-chip:hover{border-color:var(--lpg-accent)}
.lpg-chip[aria-pressed="true"]{background:var(--lpg-accent);border-color:var(--lpg-accent);color:var(--lpg-accent-ink)}
.lpg-chip:focus-visible,.lpg-open:focus-visible,.lpg-reset:focus-visible,.lpg-block summary:focus-visible{outline:2px solid var(--lpg-accent);outline-offset:2px}
.lpg-reset{font:inherit;background:none;border:0;padding:0;margin-left:10px;color:var(--lpg-accent);text-decoration:underline;cursor:pointer}
/* Other filters: labelled rows under the main line, always visible */
.lpg-filters{display:flex;flex-direction:column;gap:8px;padding:12px 0 4px}
.lpg-chip--small{font-size:.8125em;padding:5px 11px}
.lpg-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.lpg-group-label{font-size:.78em;letter-spacing:.06em;text-transform:uppercase;color:var(--lpg-muted);min-width:7.5em}

/* Sections */
.lpg-section{padding-top:44px;scroll-margin-top:calc(var(--lpg-sticky-top) + 80px)}
.lpg-section[hidden]{display:none}
.lpg-section-title{font-family:var(--lpg-font-display);font-size:clamp(22px,3vw,30px);letter-spacing:-.01em;margin:0 0 6px}
.lpg-section-intro{color:var(--lpg-muted);max-width:68ch;margin:0 0 20px}
.lpg--grid .lpg-grid{margin-top:16px}

/* Masonry columns so 4:5, 1:1 and 16:9 images sit together */
.lpg-grid{column-width:230px;column-gap:14px}
.lpg[style*="--lpg-cols"] .lpg-grid{column-width:auto;column-count:var(--lpg-cols)}
.lpg-item{break-inside:avoid;margin:0 0 14px;background:var(--lpg-surface);border:1px solid var(--lpg-line);border-radius:6px;overflow:hidden}
.lpg-item[hidden]{display:none}
.lpg-open{display:block;cursor:zoom-in}
.lpg-img{display:block;width:100%;height:auto}
.lpg-item figcaption{padding:10px 12px 12px;font-size:.8125em;line-height:1.4}
.lpg-item figcaption strong{display:block;font-family:var(--lpg-font-display);font-size:1.08em;letter-spacing:.04em;text-transform:uppercase}
.lpg-item figcaption span{color:var(--lpg-muted)}
.lpg-item figcaption a{color:inherit}
.lpg-empty{color:var(--lpg-muted);padding:20px 0}
@media (max-width:520px){.lpg-grid{column-width:150px;column-gap:10px}.lpg[style*="--lpg-cols"] .lpg-grid{column-count:2}.lpg-item{margin-bottom:10px}.lpg-group-label{min-width:100%}.lpg-status{margin-left:0;width:100%}}

/* Lightbox */
.lpg-dialog{border:0;padding:0;background:transparent;max-width:min(94vw,980px);max-height:94vh;overflow:visible;color:#fff}
.lpg-dialog::backdrop{background:rgba(0,0,0,.78)}
.lpg-dialog img{display:block;max-width:100%;max-height:78vh;margin:0 auto;border-radius:6px}
.lpg-dialog p{text-align:center;margin:10px 0 0;font-size:.95em}
.lpg-dialog .lpg-bar{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;background:none;border:0;padding:0}
.lpg-dialog button{font:inherit;background:#fff;color:#111;border:0;border-radius:6px;padding:6px 14px;cursor:pointer}
@media (prefers-reduced-motion:no-preference){.lpg-item{transition:opacity .15s}}

/* Comparison table, FAQ, call to action */
.lpg-block{margin:56px 0 0}
.lpg-block h2{font-family:var(--lpg-font-display);font-size:clamp(22px,3vw,30px);margin:0 0 8px}
.lpg-intro{color:var(--lpg-muted);margin:0 0 16px;max-width:68ch}
.lpg-table-wrap{overflow-x:auto;border:1px solid var(--lpg-line);border-radius:6px;background:var(--lpg-surface)}
.lpg-compare table{border-collapse:collapse;width:100%;min-width:620px;font-size:.875em;margin:0;border:0}
.lpg-compare th,.lpg-compare td{text-align:left;padding:12px 14px;border:0;border-bottom:1px solid var(--lpg-line);vertical-align:top;background:none}
.lpg-compare thead th{font-family:var(--lpg-font-display);font-weight:700}
.lpg-compare tbody th{font-weight:600;white-space:nowrap}
.lpg-compare tr:last-child th,.lpg-compare tr:last-child td{border-bottom:0}
.lpg-compare td.lpg-ph{color:var(--lpg-muted);font-style:italic}
.lpg-editor-note{font-size:.8125em;color:#b32d2e;margin:8px 0 0}
.lpg-faq details{border-bottom:1px solid var(--lpg-line);padding:14px 0}
.lpg-faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px}
.lpg-faq summary::-webkit-details-marker{display:none}
.lpg-faq summary::after{content:"+";color:var(--lpg-accent);font-size:20px;line-height:1}
.lpg-faq details[open] summary::after{content:"\2212"}
.lpg-answer{color:var(--lpg-muted);max-width:68ch}
.lpg-answer p{margin:10px 0 0}
.lpg-cta{margin:64px 0 56px;background:var(--lpg-accent);color:var(--lpg-accent-ink);border-radius:8px;padding:32px;display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;align-items:center}
.lpg-cta h2{margin:0;font-size:clamp(20px,3vw,28px);max-width:26ch;text-wrap:balance;color:inherit}
.lpg-cta a{background:var(--lpg-accent-ink);color:var(--lpg-accent);font-weight:600;text-decoration:none;padding:12px 22px;border-radius:6px}
