/* Medx Pharmacy — review system only. Loaded on product pages only. */
.owpp-site.owpp-single-product .owpp-reviews-ui { position:relative; }
.owpp-site.owpp-single-product .owpp-review-controls { display:flex; justify-content:flex-end; margin:0 0 14px; }
.owpp-site.owpp-single-product .owpp-review-filter-row { display:flex; gap:10px; }
.owpp-site.owpp-single-product .owpp-review-select-label { display:flex; align-items:center; gap:7px; color:var(--ink-soft); font-size:11px; font-weight:700; }
.owpp-site.owpp-single-product .owpp-review-select-label select { min-width:140px; height:38px; padding:0 30px 0 11px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); font-size:12px; }
.owpp-site.owpp-single-product .owpp-rating-breakdown { display:grid; gap:6px; margin:12px 0 4px; padding:14px 0 8px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.owpp-site.owpp-single-product .owpp-rating-breakdown-row { display:grid; grid-template-columns:54px minmax(80px,1fr) 28px; align-items:center; gap:9px; width:100%; padding:2px 0; border:0; background:transparent; color:var(--ink-soft); font-size:11px; text-align:left; cursor:pointer; }
.owpp-site.owpp-single-product .owpp-rating-breakdown-row:hover { color:var(--pine-dark); }
.owpp-site.owpp-single-product .owpp-rating-breakdown-row > span:first-child { white-space:nowrap; }
.owpp-site.owpp-single-product .owpp-rating-breakdown-row > span:first-child i { color:var(--amber); font-size:9px; }
.owpp-site.owpp-single-product .owpp-rating-bar { height:7px; overflow:hidden; border-radius:99px; background:#edf2ef; }
.owpp-site.owpp-single-product .owpp-rating-bar i { display:block; height:100%; border-radius:inherit; background:var(--amber); }
.owpp-site.owpp-single-product .owpp-rating-breakdown-row b { color:var(--ink); font-size:11px; text-align:right; }
.owpp-site.owpp-single-product .owpp-review-items { position:relative; min-height:50px; transition:opacity .18s ease; }
.owpp-site.owpp-single-product .owpp-reviews-ui.is-loading .owpp-review-items { opacity:.5; }
.owpp-site.owpp-single-product .owpp-review-list .commentlist > li.review { padding:24px 0 !important; }
.owpp-site.owpp-single-product .owpp-review-list .owpp-review-verified { display:inline-flex; align-items:center; gap:4px; margin-left:8px; color:var(--pine); font-size:11px; font-weight:700; }
.owpp-site.owpp-single-product .owpp-review-list .owpp-review-verified i { font-size:10px; }
.owpp-site.owpp-single-product .owpp-review-edit { margin-left:8px; padding:0; border:0; background:transparent; color:var(--pine); font-size:11px; font-weight:700; cursor:pointer; }
.owpp-site.owpp-single-product .owpp-review-edit:hover { text-decoration:underline; }
.owpp-site.owpp-single-product .owpp-review-helpful { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-top:13px; color:var(--ink-soft); font-size:11px; }
.owpp-site.owpp-single-product .owpp-helpful-btn { padding:5px 9px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink-soft); font-size:11px; cursor:pointer; }
.owpp-site.owpp-single-product .owpp-helpful-btn:hover { border-color:var(--pine); color:var(--pine); }
.owpp-site.owpp-single-product .owpp-helpful-btn:disabled { opacity:.6; cursor:wait; }
.owpp-site.owpp-single-product .owpp-review-replies { margin:15px 0 0 66px; padding-left:14px; border-left:2px solid #e6eeea; }
.owpp-site.owpp-single-product .owpp-review-reply { padding:11px 13px; margin-top:8px; border-radius:9px; background:#f7faf8; color:var(--ink); font-size:13px; line-height:1.6; }
.owpp-site.owpp-single-product .owpp-review-reply.is-store { background:#f1f7f4; border:1px solid #dceae3; }
.owpp-site.owpp-single-product .owpp-review-reply-title { display:flex; align-items:center; gap:7px; margin-bottom:4px; color:var(--pine-dark); font-size:11px; }
.owpp-site.owpp-single-product .owpp-review-reply-title i { color:var(--pine); }
.owpp-site.owpp-single-product .owpp-review-reply-title time { margin-left:auto; color:var(--ink-soft); font-weight:400; }
.owpp-site.owpp-single-product .owpp-review-loadmore-wrap { padding:18px 0 4px; text-align:center; }
.owpp-site.owpp-single-product .owpp-review-loadmore { min-height:42px; padding:0 20px; border:1px solid var(--pine); border-radius:9px; background:#fff; color:var(--pine); font-weight:800; cursor:pointer; }
.owpp-site.owpp-single-product .owpp-review-loadmore:hover { background:var(--pine); color:#fff; }
.owpp-site.owpp-single-product .owpp-star-picker { display:flex; flex-direction:row-reverse; justify-content:flex-end; gap:3px; width:max-content; }
.owpp-site.owpp-single-product .owpp-star-choice { width:28px; height:30px; padding:0; border:0; background:transparent; color:#d5d9dc; font-size:20px; cursor:pointer; }
.owpp-site.owpp-single-product .owpp-star-choice:hover,
.owpp-site.owpp-single-product .owpp-star-choice.is-selected,
.owpp-site.owpp-single-product .owpp-star-choice:focus { color:var(--amber); outline:none; }
.owpp-site.owpp-single-product .owpp-star-choice:focus-visible { box-shadow:0 0 0 2px rgba(31,91,75,.2); border-radius:5px; }
.owpp-site.owpp-single-product .owpp-review-form-message,
.owpp-site.owpp-single-product .owpp-review-edit-message { margin-top:10px; font-size:12px; }
.owpp-site.owpp-single-product .owpp-review-form-message.is-error,
.owpp-site.owpp-single-product .owpp-review-edit-message.is-error { color:#a63c28; }
.owpp-site.owpp-single-product .owpp-review-form-message.is-loading { color:var(--pine); }
.owpp-site.owpp-single-product .owpp-review-edit-message.is-success { color:var(--pine); }
.owpp-site.owpp-single-product .owpp-review-edit-modal[hidden] { display:none; }
.owpp-site.owpp-single-product .owpp-review-edit-modal { position:fixed; inset:0; z-index:99999; display:grid; place-items:center; padding:20px; background:rgba(13,34,27,.45); }
.owpp-site.owpp-single-product .owpp-review-edit-dialog { position:relative; width:min(560px,100%); padding:28px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:0 20px 60px rgba(15,44,34,.18); }
.owpp-site.owpp-single-product .owpp-review-edit-dialog h3 { margin:4px 0 16px; color:var(--pine-dark); font:700 23px/1.2 var(--font-display); }
.owpp-site.owpp-single-product .owpp-review-edit-close { position:absolute; top:13px; right:13px; width:34px; height:34px; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--ink-soft); cursor:pointer; }
.owpp-site.owpp-single-product .owpp-edit-rating { display:flex; gap:3px; margin-bottom:15px; }
.owpp-site.owpp-single-product .owpp-edit-star { padding:2px; border:0; background:transparent; color:#d5d9dc; font-size:20px; cursor:pointer; }
.owpp-site.owpp-single-product .owpp-edit-star.is-selected { color:var(--amber); }
.owpp-site.owpp-single-product .owpp-edit-comment { width:100%; min-height:140px; padding:12px; border:1px solid var(--line); border-radius:9px; resize:vertical; color:var(--ink); }
.owpp-site.owpp-single-product .owpp-review-edit-save { width:100%; min-height:45px; margin-top:13px; border:0; border-radius:9px; background:var(--pine); color:#fff; font-weight:800; cursor:pointer; }
.owpp-site.owpp-single-product .owpp-review-edit-save:hover { background:var(--pine-dark); }
body.owpp-review-modal-open { overflow:hidden; }
@media (max-width:640px) {
    .owpp-site.owpp-single-product .owpp-review-controls { justify-content:stretch; }
    .owpp-site.owpp-single-product .owpp-review-filter-row { width:100%; }
    .owpp-site.owpp-single-product .owpp-review-select-label { flex:1; flex-direction:column; align-items:stretch; }
    .owpp-site.owpp-single-product .owpp-review-select-label select { width:100%; min-width:0; }
    .owpp-site.owpp-single-product .owpp-review-replies { margin-left:0; }
    .owpp-site.owpp-single-product .owpp-review-reply-title { align-items:flex-start; flex-wrap:wrap; }
    .owpp-site.owpp-single-product .owpp-review-reply-title time { width:100%; margin-left:0; }
    .owpp-site.owpp-single-product .owpp-review-edit-dialog { padding:23px 18px; }
}

/* -------------------------------------------------------------------------
 * Review presentation polish — review system only.
 * ---------------------------------------------------------------------- */
.owpp-site.owpp-single-product .owpp-reviews-ui .owpp-review-controls + .owpp-review-list { margin-top: 0; }
.owpp-site.owpp-single-product .owpp-reviews-ui .owpp-review-controls { padding: 12px 0 14px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.owpp-site.owpp-single-product .owpp-reviews-ui .owpp-review-filter-row { align-items: center; }
.owpp-site.owpp-single-product .owpp-reviews-ui .owpp-review-select-label { font-size: 10px; letter-spacing: .02em; }
.owpp-site.owpp-single-product .owpp-reviews-ui .owpp-review-select-label select { min-width: 126px; height: 36px; border-radius: 8px; font-size: 11px; }

.owpp-site.owpp-single-product .owpp-review-commentlist { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.owpp-site.owpp-single-product .owpp-review-commentlist > li.review { margin: 0 !important; padding: 22px 0 !important; border-bottom: 1px solid var(--line) !important; list-style: none !important; }
.owpp-site.owpp-single-product .owpp-review-commentlist > li.review:last-child { border-bottom: 0 !important; }
.owpp-site.owpp-single-product .owpp-review-entry { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 15px; align-items: start; }
.owpp-site.owpp-single-product .owpp-review-avatar { width: 56px; height: 56px; }
.owpp-site.owpp-single-product .owpp-review-avatar img { display: block; width: 56px !important; height: 56px !important; margin: 0 !important; border-radius: 50% !important; object-fit: cover; border: 1px solid var(--line); }
.owpp-site.owpp-single-product .owpp-review-body { min-width: 0; }
.owpp-site.owpp-single-product .owpp-review-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 5px; }
.owpp-site.owpp-single-product .owpp-review-person { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; min-width: 0; }
.owpp-site.owpp-single-product .owpp-review-author { color: var(--pine-dark); font-size: 14px; line-height: 1.35; font-weight: 800; }
.owpp-site.owpp-single-product .owpp-review-date { flex: 0 0 auto; color: var(--ink-soft); font-size: 11px; line-height: 1.4; }
.owpp-site.owpp-single-product .owpp-review-verified { display: inline-flex !important; align-items: center; gap: 4px; margin: 0 !important; padding: 3px 7px; border: 1px solid #dceae3; border-radius: 999px; background: #f4f8f6; color: var(--pine) !important; font-size: 9px !important; line-height: 1.2; font-weight: 800 !important; letter-spacing: .01em; }
.owpp-site.owpp-single-product .owpp-review-verified i { font-size: 9px !important; }
.owpp-site.owpp-single-product .owpp-review-rating-line { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 9px; min-height: 18px; }
.owpp-site.owpp-single-product .owpp-review-stars { display: inline-flex; align-items: center; gap: 2px; color: var(--amber); font-size: 12px; line-height: 1; letter-spacing: 0; }
.owpp-site.owpp-single-product .owpp-review-stars .fa-star { width: auto !important; float: none !important; color: inherit !important; }
.owpp-site.owpp-single-product .owpp-review-rating-number { margin-left: 3px; color: var(--ink-soft); font-size: 10px; font-weight: 700; }
.owpp-site.owpp-single-product .owpp-review-edit { display: inline-flex; align-items: center; gap: 5px; margin: 0 !important; padding: 3px 0 !important; border: 0 !important; background: transparent !important; color: var(--pine) !important; font-size: 10px !important; line-height: 1.3; font-weight: 800; cursor: pointer; }
.owpp-site.owpp-single-product .owpp-review-edit:hover { color: var(--pine-dark) !important; text-decoration: underline; }
.owpp-site.owpp-single-product .owpp-review-content { margin: 0; color: var(--ink); font-size: 13px; line-height: 1.75; }
.owpp-site.owpp-single-product .owpp-review-content p { margin: 0 !important; }
.owpp-site.owpp-single-product .owpp-review-updated { display: inline-flex; align-items: center; gap: 5px; margin-top: 7px; color: var(--ink-soft); font-size: 10px; }

.owpp-site.owpp-single-product .owpp-review-helpful { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 13px; color: var(--ink-soft); font-size: 10px; }
.owpp-site.owpp-single-product .owpp-review-helpful > span { margin-right: 2px; }
.owpp-site.owpp-single-product .owpp-helpful-btn { display: inline-flex; align-items: center; gap: 4px; min-height: 28px; padding: 4px 8px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--ink-soft); font-size: 10px; line-height: 1; cursor: pointer; transition: border-color .18s ease, color .18s ease, background .18s ease; }
.owpp-site.owpp-single-product .owpp-helpful-btn:hover { border-color: #b9d1c6; background: #f8fbf9; color: var(--pine); }
.owpp-site.owpp-single-product .owpp-helpful-btn b { font-weight: 800; }
.owpp-site.owpp-single-product .owpp-helpful-btn:disabled { opacity: .55; cursor: wait; }

/* Official store response: distinct, restrained and authentic rather than a generic comment box. */
.owpp-site.owpp-single-product .owpp-review-replies { margin: 16px 0 0 0 !important; padding: 0 0 0 15px; border-left: 2px solid #dce9e3; }
.owpp-site.owpp-single-product .owpp-review-reply.is-store { margin: 0; padding: 13px 15px 14px; border: 1px solid #d9e8e1; border-radius: 10px; background: #f6faf8; }
.owpp-site.owpp-single-product .owpp-store-response-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.owpp-site.owpp-single-product .owpp-store-response-brand { display: flex; align-items: center; gap: 9px; min-width: 0; }
.owpp-site.owpp-single-product .owpp-store-response-mark { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; background: var(--pine); color: #fff; font-size: 12px; }
.owpp-site.owpp-single-product .owpp-store-response-brand > span:last-child { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.owpp-site.owpp-single-product .owpp-store-response-brand strong { color: var(--pine-dark); font-size: 12px; line-height: 1.25; font-weight: 800; }
.owpp-site.owpp-single-product .owpp-store-official { display: inline-flex; align-items: center; gap: 4px; color: var(--pine); font-size: 9px; line-height: 1.25; font-weight: 700; }
.owpp-site.owpp-single-product .owpp-store-official i { font-size: 8px; }
.owpp-site.owpp-single-product .owpp-store-response-head time { flex: 0 0 auto; color: var(--ink-soft); font-size: 9px; }
.owpp-site.owpp-single-product .owpp-review-reply-content { color: #30463f; font-size: 12px; line-height: 1.7; }
.owpp-site.owpp-single-product .owpp-review-reply-content p { margin: 0 !important; }

/* Empty review state keeps the form visually connected to the section. */
.owpp-site.owpp-single-product .owpp-no-reviews { margin: 8px 0 0 !important; padding: 18px 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
.owpp-site.owpp-single-product .owpp-no-reviews-icon { width: 40px; height: 40px; background: #f4f8f6; }
.owpp-site.owpp-single-product .owpp-review-form-wrapper { margin-top: 20px !important; padding-top: 24px !important; border-top: 1px solid var(--line) !important; }
.owpp-site.owpp-single-product .owpp-review-form .comment-reply-title { margin: 0 0 18px !important; }
.owpp-site.owpp-single-product .owpp-review-form form .comment-form-author,
.owpp-site.owpp-single-product .owpp-review-form form .comment-form-email { box-sizing: border-box; }
.owpp-site.owpp-single-product .owpp-review-form form .comment-form-author { margin-right: 12px; }
.owpp-site.owpp-single-product .owpp-review-form form .comment-form-author label,
.owpp-site.owpp-single-product .owpp-review-form form .comment-form-email label { font-size: 11px; }
.owpp-site.owpp-single-product .owpp-review-form form .comment-form-author input,
.owpp-site.owpp-single-product .owpp-review-form form .comment-form-email input { min-height: 43px; }
.owpp-site.owpp-single-product .owpp-review-form .comment-form-rating { margin: 0 0 18px !important; }
.owpp-site.owpp-single-product .owpp-review-form .comment-form-rating .stars,
.owpp-site.owpp-single-product .owpp-review-form .comment-form-rating select#rating { display: none !important; }
.owpp-site.owpp-single-product .owpp-review-form .owpp-star-picker { margin-top: 2px; }
.owpp-site.owpp-single-product .owpp-review-form .comment-form-comment { margin: 0 0 15px !important; }
.owpp-site.owpp-single-product .owpp-review-form textarea { min-height: 145px !important; }
.owpp-site.owpp-single-product .owpp-review-form .form-submit .submit { min-height: 43px; }
.owpp-site.owpp-single-product .owpp-review-login-notice { margin-top: 20px; }

.owpp-site.owpp-single-product .owpp-review-edit-dialog { max-height: min(720px, calc(100vh - 40px)); overflow: auto; }
.owpp-site.owpp-single-product .owpp-edit-rating { flex-direction: row-reverse; justify-content: flex-end; }
.owpp-site.owpp-single-product .owpp-edit-star { transition: color .15s ease, transform .15s ease; }
.owpp-site.owpp-single-product .owpp-edit-star:hover { color: var(--amber); transform: translateY(-1px); }
.owpp-site.owpp-single-product .owpp-edit-star:focus-visible { outline: 2px solid rgba(31,91,75,.25); outline-offset: 2px; border-radius: 4px; }

@media (max-width:640px) {
    .owpp-site.owpp-single-product .owpp-review-filter-row { gap: 8px; }
    .owpp-site.owpp-single-product .owpp-review-select-label { font-size: 9px; }
    .owpp-site.owpp-single-product .owpp-review-select-label select { min-width: 0; height: 35px; }
    .owpp-site.owpp-single-product .owpp-review-entry { grid-template-columns: 44px minmax(0,1fr); gap: 11px; }
    .owpp-site.owpp-single-product .owpp-review-avatar,
    .owpp-site.owpp-single-product .owpp-review-avatar img { width: 44px !important; height: 44px !important; }
    .owpp-site.owpp-single-product .owpp-review-head { align-items: flex-start; }
    .owpp-site.owpp-single-product .owpp-review-date { white-space: nowrap; }
    .owpp-site.owpp-single-product .owpp-review-person { gap: 5px; }
    .owpp-site.owpp-single-product .owpp-review-author { font-size: 13px; }
    .owpp-site.owpp-single-product .owpp-review-content { font-size: 12.5px; line-height: 1.7; }
    .owpp-site.owpp-single-product .owpp-review-helpful { gap: 5px; }
    .owpp-site.owpp-single-product .owpp-review-helpful > span { width: 100%; margin-bottom: 2px; }
    .owpp-site.owpp-single-product .owpp-review-replies { padding-left: 10px; }
    .owpp-site.owpp-single-product .owpp-store-response-head { align-items: flex-start; }
    .owpp-site.owpp-single-product .owpp-store-response-head time { padding-top: 3px; }
    .owpp-site.owpp-single-product .owpp-review-form form .comment-form-author,
    .owpp-site.owpp-single-product .owpp-review-form form .comment-form-email { width: 100%; display: block; margin-right: 0; }
    .owpp-site.owpp-single-product .owpp-review-edit-dialog { padding: 22px 17px; }
}
