/* Buckpine Product Reviews & Media — theme-agnostic styles. Colours inherit from the theme; only accents are set here. */
.bprm{--bprm-accent:#1e4a3b;--bprm-accent-ink:#fff;--bprm-star:#e6a117;--bprm-radius:12px;--bprm-danger:#b3261e;--bprm-ok:#1e6b4a;--bprm-line:rgba(127,127,127,.28);--bprm-soft:rgba(127,127,127,.09);box-sizing:border-box;color:inherit;font-size:15px;line-height:1.6}
.bprm,.bprm *,.bprm *::before,.bprm *::after{box-sizing:border-box}
.bprm-muted,.bprm-hint,.bprm-count,.bprm-review-date,.bprm-source{color:inherit;opacity:.72}
.bprm-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bprm-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Layout of the combined component */
.bprm-combined-host{container-type:inline-size;margin:0 0 24px}
.bprm-combined{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:40px;align-items:start}
@container (max-width:760px){.bprm-combined{grid-template-columns:minmax(0,1fr);gap:28px}}
.bprm-combined-single{grid-template-columns:minmax(0,1fr)}
.bprm-side{display:flex;flex-direction:column;gap:24px}
@media (max-width:820px){.bprm-combined{grid-template-columns:minmax(0,1fr);gap:28px}}

/* Stars */
.bprm-stars{position:relative;display:inline-block;font-size:1.15em;letter-spacing:2px;line-height:1;white-space:nowrap;vertical-align:middle}
.bprm-stars-bg{color:var(--bprm-line)}
.bprm-stars-fg{position:absolute;left:0;top:0;overflow:hidden;color:var(--bprm-star)}

/* Summary */
.bprm-summary{margin:0}
.bprm-summary-score{display:flex;align-items:center;gap:18px}
.bprm-avg{font-size:3.4rem;font-weight:700;line-height:1;letter-spacing:-.03em}
.bprm-summary-meta{display:flex;flex-direction:column;gap:6px}
.bprm ul.bprm-dist{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:8px}
.bprm ul.bprm-dist>li{display:grid;grid-template-columns:3.6em minmax(0,1fr) 2em;align-items:center;gap:10px;font-size:.9em;margin:0;padding:0;list-style:none}
.bprm-dist-count{text-align:right;opacity:.72}
.bprm-bar{display:block;flex:1 1 auto;min-width:0;height:8px;border-radius:99px;background:var(--bprm-line);overflow:hidden}
.bprm-bar>span{display:block;height:100%;background:var(--bprm-accent);border-radius:99px}

/* Toolbar */
.bprm-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:0 0 18px}
.bprm-chips{display:flex;flex-wrap:wrap;gap:8px}
.bprm-chip{display:inline-block;padding:6px 14px;border:1px solid var(--bprm-line);border-radius:99px;color:inherit;text-decoration:none;font-size:.9em;line-height:1.3}
.bprm-chip:hover{border-color:var(--bprm-accent)}
.bprm-chip[aria-current="true"]{background:var(--bprm-accent);border-color:var(--bprm-accent);color:var(--bprm-accent-ink)}
.bprm-chip:focus-visible{outline:2px solid var(--bprm-accent);outline-offset:2px}

/* Reviews */
.bprm .bprm-list{margin:0;padding:0}
.bprm-layout-list .bprm-review{padding:22px 0;border-top:1px solid var(--bprm-line)}
.bprm-layout-list .bprm-review:first-child{border-top:0}
.bprm-layout-grid{display:grid;grid-template-columns:repeat(var(--bprm-cols,2),minmax(0,1fr));gap:20px}
.bprm-layout-grid .bprm-review{padding:20px;border:1px solid var(--bprm-line);border-radius:var(--bprm-radius)}
@media (max-width:640px){.bprm-layout-grid{grid-template-columns:minmax(0,1fr)}}
.bprm-review{min-width:0}
.bprm-review-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}
.bprm-avatar{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--bprm-accent);color:var(--bprm-accent-ink);font-weight:600;font-size:1rem}
.bprm-review-meta{flex:1;min-width:0;display:flex;flex-direction:column}
.bprm-review-name{font-weight:650}
.bprm-review-date{font-size:.85em}
.bprm-badge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:99px;background:rgba(30,107,74,.14);color:var(--bprm-ok);font-size:.75em;font-weight:600;vertical-align:middle}
.bprm-review-text p{margin:0 0 .7em}
.bprm-review-text p:last-child{margin-bottom:0}
.bprm-source{margin:10px 0 0;font-size:.85em}
.bprm-source a{color:inherit}
.bprm-empty{margin:16px 0;padding:18px;border:1px dashed var(--bprm-line);border-radius:var(--bprm-radius);text-align:center}

/* Media */
.bprm ul.bprm-media{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:14px 0 0;padding:0}
.bprm ul.bprm-media>li{display:block;margin:0;padding:0;list-style:none}
.bprm-thumb{display:block;width:84px;height:84px;padding:0;border:0;border-radius:max(0px,calc(var(--bprm-radius) - 4px));overflow:hidden;background:var(--bprm-soft);cursor:zoom-in}
.bprm-thumb:focus-visible{outline:2px solid var(--bprm-accent);outline-offset:2px}
.bprm-thumb-img{display:block;width:100%;height:100%;object-fit:cover}
.bprm-video-wrap{margin-top:14px;max-width:560px;border-radius:var(--bprm-radius);overflow:hidden;background:#000}
.bprm-video{display:block;width:100%;height:auto;max-height:70vh}
.bprm-yt{position:relative;aspect-ratio:16/9}
.bprm-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Pagination */
.bprm-pagination{margin-top:24px}
.bprm .bprm-pagination ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.bprm .bprm-pagination ul>li{display:block;margin:0;padding:0;list-style:none}
.bprm-pagination .page-numbers{display:inline-block;min-width:38px;padding:7px 12px;border:1px solid var(--bprm-line);border-radius:99px;color:inherit;text-decoration:none;text-align:center;line-height:1.3}
.bprm-pagination .page-numbers.current{background:var(--bprm-accent);border-color:var(--bprm-accent);color:var(--bprm-accent-ink)}
.bprm-pagination a.page-numbers:hover{border-color:var(--bprm-accent)}
.bprm-pagination a.page-numbers:focus-visible{outline:2px solid var(--bprm-accent);outline-offset:2px}

/* Form */
.bprm-form-wrap{margin:0}
.bprm-form-heading{margin:0 0 14px;font-size:1.25em;line-height:1.3}
.bprm-collapse>summary{list-style:none;cursor:pointer}
.bprm-collapse>summary::-webkit-details-marker{display:none}
.bprm-collapse[open]>summary.bprm-form-toggle{display:none}
.bprm-static .bprm-form-toggle{display:none}
.bprm-collapse[data-bprm-collapsible] .bprm-form-body{margin-top:16px;padding:20px;border:1px solid var(--bprm-line);border-radius:var(--bprm-radius)}
.bprm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border:1px solid var(--bprm-accent);border-radius:99px;background:var(--bprm-accent);color:var(--bprm-accent-ink);font:inherit;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:filter .15s ease}
.bprm-btn:hover{filter:brightness(1.15)}
.bprm-btn:focus-visible{outline:2px solid var(--bprm-accent);outline-offset:3px}
.bprm-btn[disabled]{opacity:.6;cursor:progress}
.bprm-field{margin:0 0 18px;padding:0;border:0;min-width:0}
.bprm-field>label,.bprm-field legend{display:block;margin:0 0 6px;padding:0;font-weight:600}
.bprm-req{color:var(--bprm-danger)}
.bprm-form input[type=text],.bprm-form input[type=email],.bprm-form input[type=url],.bprm-form textarea{display:block;width:100%;max-width:100%;padding:10px 12px;border:1px solid var(--bprm-line);border-radius:8px;background:transparent;color:inherit;font:inherit}
.bprm-form textarea{resize:vertical;min-height:120px}
.bprm-form input:focus-visible,.bprm-form textarea:focus-visible{outline:2px solid var(--bprm-accent);outline-offset:1px;border-color:var(--bprm-accent)}
.bprm-form input[readonly]{opacity:.8}
.bprm-hint{margin:6px 0 0;font-size:.85em}
.bprm-form input[type=file]{display:block;width:100%;max-width:100%;font:inherit;color:inherit}
.bprm-form input[type=file]::file-selector-button{margin-right:12px;padding:8px 14px;border:1px solid var(--bprm-line);border-radius:99px;background:var(--bprm-soft);color:inherit;font:inherit;cursor:pointer}
.bprm-drop{padding:14px;border:1.5px dashed var(--bprm-line);border-radius:var(--bprm-radius)}
.bprm-drop.is-over{border-color:var(--bprm-accent);background:var(--bprm-soft)}
.bprm ul.bprm-previews{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:12px 0 0;padding:0}
.bprm ul.bprm-previews>li{position:relative;display:block;width:76px;height:76px;margin:0;padding:0;list-style:none}
.bprm-previews img{display:block;width:100%;height:100%;object-fit:cover;border-radius:8px}
.bprm-remove{position:absolute;top:-8px;right:-8px;display:grid;place-items:center;width:26px;height:26px;padding:0;border:2px solid #fff;border-radius:50%;background:#1b2420;color:#fff;font-size:15px;line-height:1;cursor:pointer}
.bprm-remove:focus-visible{outline:2px solid var(--bprm-accent);outline-offset:2px}
.bprm-field-error{margin:8px 0 0;color:var(--bprm-danger);font-size:.9em}

/* Star input: radios in DOM order 5→1, shown 1→5 */
.bprm-rate{position:relative;display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}
.bprm-rate input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.bprm-rate label{padding:0 2px;color:var(--bprm-line);font-size:34px;line-height:1;cursor:pointer;transition:color .12s ease}
.bprm-rate input:checked~label,.bprm-rate label:hover,.bprm-rate label:hover~label{color:var(--bprm-star)}
.bprm-rate input:focus-visible+label{outline:2px solid var(--bprm-accent);outline-offset:2px;border-radius:4px}

/* Notices */
.bprm-notice{margin:0 0 16px;padding:12px 16px;border-left:4px solid;border-radius:8px}
.bprm-notice ul{margin:6px 0 0 18px;padding:0}
.bprm-notice-success{border-color:var(--bprm-ok);background:rgba(30,107,74,.1)}
.bprm-notice-error{border-color:var(--bprm-danger);background:rgba(179,38,30,.08)}
.bprm-placeholder{padding:22px;border:1.5px dashed var(--bprm-line);border-radius:var(--bprm-radius);text-align:center}

/* Lightbox */
.bprm-lightbox{width:min(96vw,1100px);max-width:none;max-height:94vh;padding:0;border:0;border-radius:var(--bprm-radius,12px);background:#111;color:#fff;overflow:hidden}
.bprm-lightbox::backdrop{background:rgba(0,0,0,.82)}
.bprm-lb-stage{position:relative;display:grid;place-items:center;min-height:50vh;padding:16px}
.bprm-lb-img{display:block;max-width:100%;max-height:82vh;object-fit:contain}
.bprm-lb-count{position:absolute;left:16px;bottom:10px;font-size:.85em;opacity:.8}
.bprm-lb-btn{position:absolute;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.bprm-lb-btn:hover{background:rgba(255,255,255,.3)}
.bprm-lb-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.bprm-lb-close{top:10px;right:10px}
.bprm-lb-prev{left:10px;top:50%;transform:translateY(-50%)}
.bprm-lb-next{right:10px;top:50%;transform:translateY(-50%)}

@media (prefers-reduced-motion:reduce){.bprm *{transition:none!important}}

/* Guard against theme list/tab rules (borders, pseudo-elements) leaking into the component */
.bprm ul,.bprm ol{border:0;box-shadow:none;background:none}
.bprm ul::before,.bprm ul::after{content:none;display:none;border:0}
.bprm .bprm-badge{white-space:nowrap}
.bprm .bprm-review-name{overflow-wrap:anywhere}
