.reviews {max-width:1200px;margin:48px auto;padding:32px;background:#fff;border:1px solid #eadfe4;border-radius:18px;color:#302422}
.reviews h2{font-size:2rem;margin:0 0 12px}
.reviews button,.reviews select,.review-admin button{min-height:44px;padding:10px 16px;border:1px solid #c9b8c0;border-radius:8px;background:#fff;color:#60374b;cursor:pointer}
.reviews button:disabled{opacity:.55;cursor:wait}
.reviews .review-primary{background:#733c56;color:#fff}
.review-summary{display:flex;gap:32px;flex-wrap:wrap;margin:20px 0}
.review-average{font-size:2.8rem}
.review-stars{color:#985b16;letter-spacing:3px}
.review-breakdown{display:grid;gap:5px;min-width:230px}
.review-breakdown meter{margin:0 12px}
.review-toolbar{display:flex;gap:16px;flex-wrap:wrap;margin:24px 0}
.review-toolbar label{display:grid;gap:6px}
.review-card{padding:24px 0;border-top:1px solid #eee3e8}
.review-card h3{font-family:inherit;font-size:1.1rem}
.review-card p{white-space:pre-wrap;overflow-wrap:anywhere}
.review-photos{display:flex;gap:12px;flex-wrap:wrap}
.review-photos img{width:100px;height:100px;object-fit:cover;border-radius:10px}
.review-response{border-left:3px solid #ddb9ca;padding-left:16px}
.review-form{display:grid;gap:16px;max-width:650px;margin-top:24px}
.review-form[hidden]{display:none}
.review-form label{display:grid;gap:7px}
.review-form input,.review-form textarea,.review-form select{box-sizing:border-box;width:100%;padding:12px;border:1px solid #c9b8c0;border-radius:8px;font:inherit}
.review-form textarea{min-height:120px}
.review-form .review-consent{display:flex;align-items:start}
.review-consent input{width:auto;margin-top:5px}
.review-honey{position:absolute;left:-10000px}
.review-message{padding:12px 0;white-space:pre-wrap}
.review-admin{margin:30px auto;padding:24px;max-width:1100px;font-family:system-ui;background:#fffafc}
.review-admin h1{font-family:inherit}
.review-admin input,.review-admin select{padding:12px;font:inherit}
.review-admin section{padding:20px;border-bottom:1px solid #ddd}
.review-admin nav{display:flex;flex-wrap:wrap;gap:8px}
.review-admin pre{white-space:pre-wrap}
.review-admin [hidden]{display:none}
@media(max-width:650px){.reviews{margin:24px 16px;padding:20px}
.review-summary{gap:16px}
.review-toolbar{display:grid}
.review-admin{padding:16px;margin:0}
}

.import-bookmark{display:inline-block;padding:14px 20px;background:#733c56;color:white;border-radius:10px;text-decoration:none;font-weight:600}
.review-admin textarea{box-sizing:border-box;max-width:100%;width:100%;font:inherit;padding:12px}
.review-admin #preview-rows{display:grid;gap:12px;margin:24px 0}
.review-admin #preview-rows section{background:#fff;border:1px solid #e2d1da;border-radius:12px;overflow-wrap:anywhere}
.review-admin #preview-rows label{display:block;margin:12px 0}
.review-admin #preview-rows p{white-space:pre-wrap}
.review-admin #preview-rows input:not([type=checkbox]){box-sizing:border-box;width:100%}
.review-admin input[type=checkbox]{width:18px;height:18px;margin-right:10px;vertical-align:middle}
.review-admin #column-mapping{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.review-admin #column-mapping h3{grid-column:1/-1}
.review-admin #column-mapping label{display:grid;gap:6px}
.review-admin select{min-width:0;max-width:100%}
.review-admin button:disabled{opacity:.55;cursor:wait}
.review-admin kbd{background:#eee;border-radius:4px;padding:2px 5px}
.review-admin #import-history details{margin:10px 0;padding:12px;border:1px solid #ddd;border-radius:8px}
@media(max-width:650px){.review-admin #column-mapping{grid-template-columns:1fr}
.review-admin input{max-width:100%;box-sizing:border-box}
.review-admin section{padding:14px 0}
.review-admin #preview-rows section{padding:14px}
}

.review-admin {
  --review-line: #efd5e2;
  --review-accent: #ae285f;
  box-sizing: border-box;
  max-width: 1120px;
  margin: 0 auto;
  padding: 40px 28px 80px;
  background: #fffaf8;
  color: #512c36;
  font-family: system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.65;
}

.review-admin *, .review-admin *::before, .review-admin *::after { box-sizing: border-box; }
.review-admin main { min-width: 0; }
.review-admin h1 { margin: 20px 0 12px; font-size: clamp(28px, 4vw, 38px); line-height: 1.2; letter-spacing: -.035em; }
.review-admin h2 { margin: 0 0 14px; font-size: 21px; line-height: 1.35; letter-spacing: -.02em; }
.review-admin h2:not(:first-child) { margin-top: 30px; }
.review-admin p { max-width: 78ch; margin: 12px 0; overflow-wrap: anywhere; }
.review-admin a { color: var(--review-accent); text-underline-offset: 3px; }
.review-admin section, .review-admin #import-form, .review-admin #import-login, .review-admin #login {
  max-width: none;
  margin: 24px 0;
  padding: 28px;
  border: 1px solid var(--review-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 4px 18px #6f294405;
}
.review-admin #import-tools > details {
  margin: 18px 0;
  padding: 18px 24px;
  border: 1px solid var(--review-line);
  border-radius: 12px;
  background: #fff5fa;
}
.review-admin summary { cursor: pointer; font-weight: 600; }
.review-admin label { display: grid; gap: 8px; font-weight: 500; }
.review-admin input:not([type=checkbox]), .review-admin select, .review-admin textarea {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid #d9bdcb;
  border-radius: 8px;
  background: #fffdfd;
  color: #512c36;
  font: inherit;
}
.review-admin textarea { min-height: 105px; resize: vertical; }
.review-admin #destination-product { max-width: 650px; }
.review-admin button, .review-admin .import-bookmark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 18px;
  border: 1px solid #d9bdcb;
  border-radius: 9px;
  background: #fff;
  color: #8d2652;
  font: inherit;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.review-admin button:hover { background: #fff0f7; border-color: #cf93af; }
.review-admin .import-bookmark, .review-admin #commit-button, .review-admin #preview-button, .review-admin #import-login button, .review-admin #login button { background: #ae285f; border-color: #ae285f; color: #fff; }
.review-admin .import-bookmark:hover, .review-admin #commit-button:hover, .review-admin #preview-button:hover { background: #8b1f4b; color: #fff; }
.review-admin #import-message:empty { display: none; }
.review-admin #import-message:not(:empty), .review-admin #message:not(:empty) { max-width: none; padding: 14px 18px; border: 1px solid #efc7da; border-radius: 10px; background: #fff0f7; }
.review-admin #preview-rows { gap: 18px; }
.review-admin #preview-rows section { margin: 0; padding: 22px; }
.review-admin #preview-rows label:has(input[type=checkbox]), .review-admin .review-consent { display: flex; align-items: flex-start; gap: 10px; font-weight: 400; }
.review-admin input[type=checkbox] { flex: 0 0 18px; width: 18px; height: 18px; margin: 4px 0 0; accent-color: #ae285f; }
.review-admin .review-photos { margin: 16px 0; }
.review-admin .review-photos img { width: 96px; height: 96px; border: 1px solid var(--review-line); background: #fff5fa; }
.review-admin #commit-form { max-width: none; padding-top: 24px; border-top: 1px solid var(--review-line); }
.review-admin #bookmark-code { margin-top: 12px; font-family: ui-monospace, monospace; font-size: 12px; }
.review-admin #capture-selectors { max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.review-admin #capture-help { border-color: #e2c59a; background: #fffaf0; }
.review-admin :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #dc86af; outline-offset: 3px; }
.review-admin button:disabled { opacity: .5; cursor: not-allowed; }
.review-admin [hidden] { display: none !important; }

@media (max-width: 650px) {
  .review-admin { padding: 24px 16px 48px; }
  .review-admin section, .review-admin #import-form, .review-admin #import-login, .review-admin #login { padding: 20px 16px; border-radius: 12px; }
  .review-admin #import-tools > details { padding: 16px; }
  .review-admin #capture-selectors { grid-template-columns: 1fr; }
  .review-admin .import-bookmark { width: 100%; }
  .review-admin .review-photos img { width: 80px; height: 80px; }
}

/* Shared admin and importer layout. */

.review-admin .destination-filters{display:grid;grid-template-columns:1fr 1.5fr;gap:16px;max-width:850px;margin:18px 0 0}
.review-admin #destination-count{font-size:13px;color:#80616d;margin:10px 0}
@media(max-width:650px){.review-admin .destination-filters{grid-template-columns:1fr}}
.review-admin .destination-selected { display:flex; align-items:center; gap:14px; margin:16px 0; padding:14px 16px; border:1px solid #edc6d9; border-radius:12px; background:#fff4f9; font-weight:600; }
.review-admin .destination-selected img { width:56px; height:56px; object-fit:contain; border-radius:8px; background:white; }
.review-admin #destination-grid { max-height:550px; overflow:auto; padding:4px 8px 12px 4px; scrollbar-color:#d99ab8 #fff5fa; }
.review-admin .destination-group + .destination-group { margin-top:24px; }
.review-admin .destination-group h3 { margin:8px 0 12px; font-size:17px; }
.review-admin .destination-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.review-admin .destination-product-card { display:flex; flex-direction:column; justify-content:flex-start; gap:10px; width:100%; padding:12px; font-size:13px; text-align:left; font-weight:500; }
.review-admin .destination-product-card img { display:block; width:100%; height:100px; object-fit:contain; border-radius:6px; background:#fff9fc; }
.review-admin .destination-product-card span { width:100%; overflow-wrap:anywhere; }
.review-admin .destination-product-card[aria-pressed=true] { background:#fff0f7; border:2px solid #ae285f; padding:11px; box-shadow:0 0 0 2px #ae285f14; }
@media(max-width:650px){.review-admin .destination-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-admin #destination-grid{max-height:460px}.review-admin .destination-product-card img{height:85px}}

.review-admin .import-batch-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 10px}.review-admin #add-all{background:#ae285f;color:#fff;border-color:#ae285f}.review-admin #delete-all{color:#a52b3a;border-color:#e5b4bd}
