/* Review pages: photographs, comfortable type and a restrained vermilion rule. */
.zd-review-main { min-width: 0; }
.zd-review { color: #202124; overflow-wrap: anywhere; }
.zd-review-header { display: flex; align-items: center; gap: 12px 24px; min-height: 48px; margin-bottom: 18px; padding: 0 0 12px; border-bottom: 1px solid var(--zd-red, #e74732); }
.zd-editorial .zd-review-date { flex: none; margin: 0; color: #7b7b7b; font-family: Arial, "Hiragino Sans", sans-serif; font-size: 11px; line-height: 1.6; font-variant-numeric: tabular-nums; white-space: nowrap; }
.zd-editorial .zd-review h1 { flex: 1; min-width: 0; margin: 0; color: #202124; font-size: clamp(22px, 2.2vw, 30px); font-weight: 800; letter-spacing: -.025em; line-height: 1.2; }
.zd-review figure { margin: 0; }
/* Keep the opening photograph modest, reserving the larger presentation for BEST SHOT. */
.zd-review .zd-review-main-image { width: 80%; max-width: 640px; margin: 0 auto; }
.zd-review .zd-review-main-image a.zd-review-image-link { width: fit-content; max-width: 100%; margin: 0 auto; }
.zd-review-main-image img { display: block; width: auto; max-width: 100%; height: auto; max-height: 420px; margin: 0 auto; border-radius: 0; }
.zd-review-summary { margin: 24px 0 0; padding: 0 0 0 18px; border-left: 2px solid var(--zd-red, #e74732); color: #424242; font-size: 15px; line-height: 2.05; }
.zd-review-summary p + p { margin-top: 1em; }
.zd-review-section { margin-top: 46px; }
.zd-editorial .zd-review-heading { margin: 0 0 24px; padding: 0 0 12px; border-bottom: 1px solid var(--zd-red, #e74732); color: #202124; font-size: 21px; font-weight: 800; letter-spacing: .015em; line-height: 1.6; }
.zd-review-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 32px 24px; }
.zd-review-shot { min-width: 0; }
.zd-review-shot img { width: 100%; height: auto; border-radius: 0; }
.zd-review-shot figcaption { margin: 13px 0 0; padding: 0 0 0 12px; border-left: 1px solid var(--zd-red, #e74732); color: #515151; font-size: 13px; line-height: 1.9; }
.zd-review-shot figcaption p + p { margin-top: .8em; }

/* A single centered photograph gets the only decorative frame on the page. */
.zd-review-best { position: relative; max-width: 880px; margin: 56px auto 0; padding: 33px 28px 28px; border: 1px solid var(--zd-red, #e74732); }
.zd-editorial .zd-review-best h2 { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 6px 12px; width: fit-content; max-width: calc(100% - 32px); margin: -46px auto 22px; padding: 0 14px; color: var(--zd-red, #e74732); background: #fff; font-family: Arial, "Hiragino Sans", sans-serif; font-size: 23px; font-weight: 800; letter-spacing: .12em; line-height: 1.5; text-align: center; }
.zd-review-best h2 small { color: #3d3d3d; font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif; font-size: 11px; font-weight: 500; letter-spacing: .1em; }
.zd-review-best-frame { position: relative; padding: 8px; border: 1px solid #e5e5e5; }
.zd-review-best-frame::before, .zd-review-best-frame::after { position: absolute; z-index: 1; width: 18px; height: 18px; content: ""; pointer-events: none; }
.zd-review-best-frame::before { top: -1px; left: -1px; border-top: 2px solid var(--zd-red, #e74732); border-left: 2px solid var(--zd-red, #e74732); }
.zd-review-best-frame::after { right: -1px; bottom: -1px; border-right: 2px solid var(--zd-red, #e74732); border-bottom: 2px solid var(--zd-red, #e74732); }
.zd-review-best-frame img { width: 100%; max-height: 850px; height: auto; border-radius: 0; object-fit: contain; }
.zd-review-best figcaption { max-width: 720px; margin: 19px auto 0; color: #414141; font-size: 14px; line-height: 2; text-align: center; }
.zd-review-best figcaption p + p { margin-top: .8em; }

.zd-review-report { --zd-report-accent: var(--zd-red, #e74732); --zd-report-line: #e5e5e5; margin-top: 42px; padding: 23px 25px 25px; border: 1px solid var(--zd-red, #e74732); background: #fff; }
.zd-review-report--silver { --zd-report-accent: #626c78; --zd-report-line: #d7dce2; border: 3px solid transparent; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(125deg, #737e89, #edf0f3 25%, #9ca6b1 47%, #edf0f4 73%, #6e7884) border-box; box-shadow: inset 0 0 0 1px #e4e7eb, 0 3px 14px rgba(52, 64, 80, .06); }
.zd-review-report--gold { --zd-report-accent: #967028; --zd-report-line: #e7d8b9; border: 3px solid transparent; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(125deg, #916a22, #f6e7b8 25%, #b38a35 47%, #fff0c2 73%, #9b762a) border-box; box-shadow: inset 0 0 0 1px #efe4c9, 0 3px 14px rgba(139, 104, 33, .08); }
.zd-review-report--gold { position: relative; }
.zd-review-report--gold::before { content: ''; position: absolute; inset: 5px; border: 1px solid #d9bd78; pointer-events: none; }
.zd-review-report--gold .zd-review-award { color: #684a17; background: linear-gradient(110deg, #d7b86c, #fff0bf, #d5b366); border-color: #b18b38; box-shadow: 0 2px 5px #88642018; }
.zd-review-report--gold .zd-review-stars { color: #aa7c22; }
.zd-review-report-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 17px; border-bottom: 1px solid var(--zd-report-accent); }
.zd-editorial .zd-review-report-header h2 { margin: 0; color: #202124; font-size: 20px; font-weight: 800; line-height: 1.5; letter-spacing: .02em; }
.zd-review-award { flex-shrink: 0; padding: 5px 9px 4px; border: 1px solid currentColor; color: var(--zd-report-accent); font-family: Arial, sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .16em; line-height: 1.5; }
.zd-review-report-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; margin-top: 21px; }
.zd-review-report--single .zd-review-report-columns { grid-template-columns: minmax(0, 1fr); }
.zd-review-report-columns > section { min-width: 0; }
.zd-review-report-columns > section + section { padding-left: 28px; border-left: 1px solid var(--zd-report-line); }
.zd-editorial .zd-review-report-heading { margin: 0 0 11px; color: #252525; font-size: 15px; font-weight: 800; line-height: 1.6; }
.zd-review-facts { margin: 0; }
.zd-review-facts > div { display: grid; grid-template-columns: minmax(78px, .8fr) minmax(0, 1.2fr); gap: 12px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--zd-report-line); }
.zd-review-facts > div:last-child { border-bottom: 0; }
.zd-review-facts dt { color: #737373; font-size: 11px; font-weight: 400; line-height: 1.8; }
.zd-review-facts dd { margin: 0; color: #272727; font-size: 13px; font-weight: 700; line-height: 1.8; font-variant-numeric: tabular-nums; }
.zd-review-ratings { margin: 0; }
.zd-review-ratings > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px; align-items: baseline; padding: 8px 0; border-bottom: 1px solid var(--zd-report-line); }
.zd-review-ratings > div:first-child { padding-top: 0; }
.zd-review-ratings dt { grid-column: 1; font-size: 12px; font-weight: 600; line-height: 1.7; }
.zd-review-ratings dd { display: contents; }
.zd-review-stars { display: inline-flex; grid-column: 1 / -1; grid-row: 2; gap: 3px; width: fit-content; max-width: 100%; color: var(--zd-red, #e74732); font-size: 15px; line-height: 1.35; white-space: nowrap; }
.zd-review-stars .is-empty { color: #dedede; }
.zd-review-rating-value { grid-column: 2; grid-row: 1; min-width: 44px; color: #292929; font-family: Arial, "Hiragino Sans", sans-serif; font-size: 16px; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.zd-review-rating-value small { color: #8b8b8b; font-size: 11px; font-weight: 400; }
.zd-review-score { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 13px; border-top: 1px solid var(--zd-report-accent); }
.zd-editorial .zd-review-score h4 { margin: 0; color: #272727; font-size: 15px; font-weight: 800; letter-spacing: .08em; }
.zd-review-score-caption p { margin-top: 3px; color: #8b8b8b; font-size: 10px; line-height: 1.6; }
.zd-review-score-number { display: flex; align-items: baseline; justify-content: flex-end; gap: 5px; color: var(--zd-report-accent); font-family: Arial, sans-serif; font-variant-numeric: tabular-nums; }
.zd-review-score-number strong { font-size: 49px; font-weight: 500; letter-spacing: -.06em; line-height: 1.1; }
.zd-review-score-number > span { color: #7c7c7c; font-size: 12px; }
.zd-editorial .zd-review-score-pending { margin: 10px 0; color: #767676; font-size: 15px; }
.zd-review-verdict { margin-top: 22px; padding: 19px 0 0; border-top: 1px solid var(--zd-report-line); }
.zd-editorial .zd-review-verdict h3 { margin: 0 0 12px; color: #252525; font-size: 15px; font-weight: 800; }
.zd-review-verdict > div { color: #414141; font-size: 14px; line-height: 2.05; }
.zd-review-verdict p + p { margin-top: 1em; }

/* Preserve ordinary WordPress content in posts which have not used the form. */
.zd-review-body { margin-top: 30px; color: #363636; font-size: 15px; line-height: 2.05; }
.zd-review-body > * + * { margin-top: 1.5em; }
.zd-review-body h2, .zd-review-body h3, .zd-review-body h4 { font-weight: 800; line-height: 1.6; }
.zd-review-body h2 { padding-bottom: 10px; border-bottom: 1px solid var(--zd-red, #e74732); font-size: 23px; }
.zd-review-body h3 { font-size: 19px; }
.zd-review-body h4 { font-size: 16px; }
.zd-review-body a { color: var(--zd-red, #e74732); text-decoration: underline; text-underline-offset: 3px; }
.zd-review-body ul, .zd-review-body ol { padding-left: 1.6em; list-style: revert; }
.zd-review-body li + li { margin-top: .4em; }
.zd-review-body img { max-width: 100%; height: auto; border-radius: 0; }
.zd-review-body iframe, .zd-review-body video { max-width: 100%; }
.zd-review-body table { width: 100%; border-collapse: collapse; font-size: 13px; }
.zd-review-body th, .zd-review-body td { padding: 10px 12px; border: 1px solid #dedede; }
.zd-review-body blockquote { margin-right: 0; margin-left: 0; padding: 0 0 0 20px; border-left: 2px solid var(--zd-red, #e74732); color: #656565; }
.zd-review-body pre { max-width: 100%; overflow-x: auto; padding: 16px; border: 1px solid #e2e2e2; background: #fafafa; }
.zd-review-body .wp-block-table { overflow-x: auto; }
.zd-review-pages { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 20px; }
.zd-review-password input { max-width: 100%; padding: 8px 10px; border: 1px solid #bcbcbc; border-radius: 0; }
.zd-review-password input[type="submit"] { border-color: var(--zd-red, #e74732); color: #fff; background: var(--zd-red, #e74732); cursor: pointer; }
.zd-review-return { display: flex; align-items: center; gap: 14px; width: fit-content; margin-top: 40px; padding: 12px 0; border-bottom: 1px solid var(--zd-red, #e74732); color: #3c3c3c; font-size: 13px; font-weight: 600; }
.zd-review-return > span { color: var(--zd-red, #e74732); }

@media (min-width: 768px) and (max-width: 1100px) {
  .zd-review-report { padding: 20px; }
  .zd-review-report-columns { gap: 19px; }
  .zd-review-report-columns > section + section { padding-left: 19px; }
  .zd-review-stars { gap: 2px; font-size: 14px; }
  .zd-review-facts > div { gap: 7px; }
}
@media (max-width: 767px) {
  .zd-layout--review { gap: 44px; }
  .zd-review-header { flex-wrap: wrap; gap: 8px 14px; }
  .zd-editorial .zd-review h1 { flex-basis: 160px; font-size: 21px; line-height: 1.4; }
  .zd-editorial .zd-review-date { font-size: 10px; }
  .zd-review-main-image img { max-height: 240px; }
  .zd-review-summary { margin-top: 20px; padding-left: 13px; font-size: 14px; line-height: 2; }
  .zd-review-section { margin-top: 34px; }
  .zd-editorial .zd-review-heading { margin-bottom: 21px; padding-bottom: 10px; font-size: 19px; }
  .zd-review-gallery { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .zd-review-shot figcaption { font-size: 13px; }
  .zd-review-best { margin-top: 44px; padding: 28px 14px 20px; }
  .zd-editorial .zd-review-best h2 { margin-top: -40px; margin-bottom: 18px; padding: 0 10px; font-size: 20px; letter-spacing: .08em; }
  .zd-review-best h2 small { font-size: 10px; }
  .zd-review-best-frame { padding: 5px; }
  .zd-review-best figcaption { margin-top: 16px; font-size: 13px; line-height: 1.9; }
  .zd-review-report { margin-top: 34px; padding: 18px; }
  .zd-editorial .zd-review-report-header h2 { font-size: 18px; }
  .zd-review-report-header { padding-bottom: 14px; }
  .zd-review-award { padding: 4px 7px; font-size: 9px; }
  .zd-review-report-columns { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 18px; }
  .zd-review-report-columns > section + section { padding: 20px 0 0; border-top: 1px solid var(--zd-report-line); border-left: 0; }
  .zd-review-facts > div { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 14px; padding: 13px 0; }
  .zd-review-facts dd { font-size: 13px; }
  .zd-review-ratings dt { font-size: 13px; }
  .zd-review-stars { gap: 3px; font-size: 17px; }
  .zd-review-score { padding-top: 16px; }
  .zd-review-score-number strong { font-size: 54px; }
  .zd-review-verdict { margin-top: 24px; padding-top: 20px; }
  .zd-review-body { font-size: 14px; }
  .zd-review-return { margin-top: 30px; }
}
@media (max-width: 350px) {
  .zd-editorial .zd-review h1 { font-size: 20px; }
  .zd-review-report { padding: 15px; }
  .zd-review-stars { gap: 2px; font-size: 16px; }
  .zd-review-rating-value { min-width: 32px; font-size: 14px; }
}
