.prk-review-loop { width:100%; min-width:0; }
.prk-review-loop__items { display:flex; flex-direction:column; gap:16px; }
.prk-review-loop__item { min-width:0; overflow-wrap:anywhere; }
/* The Elementor document and repeated article should use the available column width. */
.prk-review-loop__item > .elementor { box-sizing:border-box; width:100%; min-width:0; }

.prk-review-loop__item img { max-width:100%; height:auto; }
.prk-review-loop .prk-comment-likes { display:flex; flex-wrap:wrap; gap:16px; }
.prk-review-loop .prk-comment-likes button { display:inline-flex; align-items:center; gap:6px; padding:4px 0; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.prk-review-loop .prk-comment-likes img { width:24px; height:24px; }
.prk-review-loop .prk-comment-likes button[aria-pressed="true"] { color:#FD520A; font-weight:700; }
.prk-review-loop .prk-comment-likes button:disabled { opacity:.55; cursor:default; }
.prk-review-loop .prk-comment-vote-status { flex-basis:100%; font-size:12px; }
.prk-review-loop .prk-comment-likes [hidden] { display:none !important; }
.prk-review-loop__controls { display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-block-end:20px; }
.prk-review-loop__controls label { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.prk-review-loop__controls select { max-width:100%; font:inherit; padding:8px 12px; border:1px solid #e6e8ec; border-radius:12px; background:#fff; }
.prk-review-loop__live { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.prk-review-loop__empty { margin-block:12px; color:#6b7280; font-size:14px; }
.prk-review-loop__more-wrap { display:flex; justify-content:center; align-items:center; margin-block:12px; }
.prk-review-loop [data-review-more] { display:inline-flex; justify-content:center; align-items:center; gap:8px; border:1px solid transparent; background:transparent; color:#6b7280; border-radius:10px; padding:10px 16px; font:inherit; cursor:pointer; }
.prk-review-loop__more-icon { display:block; width:16px; height:16px; flex:none; fill:currentColor; }
.prk-review-load-notice { position:fixed; bottom:20px; left:20px; z-index:100000; max-width:min(90vw,360px); background:#332e2e; color:#fff; border-radius:12px; padding:14px 18px; box-shadow:0 8px 25px #0003; font-size:14px; }
.prk-review-loop button:disabled { cursor:wait; opacity:.65; }
.prk-review-loop [hidden] { display:none !important; }
.prk-review-loop :focus-visible { outline:2px solid #fd520a; outline-offset:3px; }
.prk-review-filter, .prk-review-filter__sort { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.prk-review-filter button { border:0; padding:6px 0; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.prk-review-filter button[aria-pressed="true"] { font-weight:700; }
.prk-review-filter label { display:flex; align-items:center; gap:8px; }
.prk-review-filter select { color:inherit; font:inherit; padding:8px 12px; border:1px solid #eee; border-radius:12px; background:#fff; }
.prk-review-filter__status { font-size:12px; }
.prk-review-filter button:disabled, .prk-review-filter select:disabled { opacity:.5; cursor:default; }
.prk-review-filter :focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.prk-review-loop__skeleton { display:flex; flex-direction:column; gap:16px; margin-top:15px; }
.prk-review-skeleton { box-sizing:border-box; max-width:100%; border:1px solid #eef0f2; border-radius:20px; padding:28px; background:#fff; }
.prk-review-skeleton__head { display:flex; align-items:center; gap:14px; }
.prk-review-skeleton__avatar { width:51px; height:51px; border-radius:50%; flex:none; }
.prk-review-skeleton__identity { display:flex; flex-direction:column; gap:10px; flex:1; }
.prk-review-skeleton__name { width:42%; height:16px; border-radius:6px; }
.prk-review-skeleton__date { width:28%; height:10px; border-radius:6px; }
.prk-review-skeleton__reply { width:44px; height:14px; border-radius:6px; }
.prk-review-skeleton__lines { display:flex; flex-direction:column; gap:14px; margin-top:28px; }
.prk-review-skeleton__lines span { width:100%; height:12px; border-radius:6px; }
.prk-review-skeleton__lines span:last-child { width:72%; }
.prk-review-skeleton__avatar, .prk-review-skeleton__name, .prk-review-skeleton__date, .prk-review-skeleton__reply, .prk-review-skeleton__lines span { background:linear-gradient(100deg,var(--prk-review-skeleton-base,#f0f2f4) 20%,var(--prk-review-skeleton-shine,#fafbfc) 40%,var(--prk-review-skeleton-base,#f0f2f4) 60%); background-size:220% 100%; animation:prk-review-shimmer 1.4s ease-in-out infinite; }
@keyframes prk-review-shimmer { to { background-position:-220% 0; } }
@media (prefers-reduced-motion:reduce) { .prk-review-skeleton * { animation:none; } }
@media (max-width:767px) { .prk-review-skeleton { padding:18px; } .prk-review-filter, .prk-review-filter__sort { gap:14px; } }

.prk-review-loop [data-review-more] { min-height:42px; max-width:100%; transition:background-color .2s ease,color .2s ease,border-color .2s ease; }
.prk-review-loop [data-review-more]:hover { color:#fd520a; background:#f6f6f6; }
@media (prefers-reduced-motion:reduce) { .prk-review-loop [data-review-more] { transition:none; } }


/* AJAX reaction loading is local to the clicked like/dislike icon, never the whole pair. */
.prk-review-loop .prk-comment-likes .prk-review-vote-icon-slot { display:inline-flex; align-items:center; justify-content:center; flex:none; width:24px; height:24px; pointer-events:none; }
.prk-review-loop .prk-comment-likes .prk-review-vote-icon-slot[hidden] { display:none!important; }
.prk-review-loop .prk-comment-likes button.prk-review-vote-pending > img,
.prk-review-loop .prk-comment-likes button.prk-review-vote-pending > svg { display:none!important; }
/* Matches Aran comment.min.css: 12px spinner, 1px #878787 border, transparent top. */
.prk-review-loop .prk-comment-likes .prk-review-vote-spinner { display:block; box-sizing:border-box; width:12px; height:12px; border:1px solid #878787; border-top-color:transparent; border-radius:999px; animation:prk-review-vote-rotate .65s linear infinite; }
.prk-review-loop .prk-comment-likes .prk-comment-vote-status { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; }
.prk-review-loop .prk-comment-likes [data-prk-vote-retry] { display:none!important; }
.prk-review-loop .prk-comment-likes .prk-like-btn[aria-pressed="true"] { color:#16a34a; }
.prk-review-loop .prk-comment-likes .prk-dislike-btn[aria-pressed="true"] { color:#dc3545; }
@keyframes prk-review-vote-rotate { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .prk-review-loop .prk-review-vote-spinner { animation:none; border-top-color:currentColor; } }

/* Editable review Loop Item controls: keep old native review buttons untouched. */
.prk-review-loop .prk-comment-likes--custom { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.prk-review-loop .prk-comment-likes--custom .prk-like-btn,
.prk-review-loop .prk-comment-likes--custom .prk-dislike-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:8px 10px; border:1px solid transparent; border-radius:9px;
  background:transparent; color:#64748b; line-height:1.5;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.prk-review-loop .prk-comment-likes--custom .prk-like-btn:hover,
.prk-review-loop .prk-comment-likes--custom .prk-dislike-btn:hover {
  background:#f4f5f7; color:#586079;
}
.prk-review-loop .prk-comment-likes--custom .prk-review-vote-graphic {
  display:inline-flex; flex:0 0 auto; width:24px; height:24px;
  align-items:center; justify-content:center; line-height:1; color:inherit;
}
.prk-review-loop .prk-comment-likes--custom .prk-review-vote-graphic img,
.prk-review-loop .prk-comment-likes--custom .prk-review-vote-graphic svg {
  display:block; width:100%; height:100%; object-fit:contain;
}
.prk-review-loop .prk-comment-likes--custom .prk-review-vote-label { white-space:nowrap; }
.prk-review-loop .prk-comment-likes--custom button.prk-review-vote-pending .prk-review-vote-graphic { display:none; }
@media (prefers-reduced-motion:reduce) {
  .prk-review-loop .prk-comment-likes--custom button { transition:none; }
}


/* Opt-in full-width Elementor loop card.
   The width control targets article; its inner template root can still carry
   a max-width from the saved Elementor document. Restrict this adjustment to
   explicitly opted-in product review widgets. Do not override article width,
   user-selected alignment, or widths on any descendants of the root. */
.prk-review-loop.prk-review-loop--stretch-inner .prk-review-loop__item > .elementor {
    box-sizing: border-box;
    width: 100%;
    max-width: 100% !important;
    min-width: 0;
}
/* Explicit "full column" switch overrides the old root limit on the *actual*
   runtime template (e.g. Elementor document 13714). Not its descendants. */
.prk-review-loop.prk-review-loop--stretch-inner .prk-review-loop__items {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
}
.prk-review-loop.prk-review-loop--stretch-inner .prk-review-loop__item {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
}
.prk-review-loop.prk-review-loop--stretch-inner .prk-review-loop__item > .elementor > .elementor-element {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
}
