/* NihonLink AdSense Review Mode v1.0.0 */
.nl-review-main,
.nl-review-main * { box-sizing: border-box; }
.nl-review-main { background:#f5f7f5; color:#17201d; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; }
.nl-review-wrap { width:min(1180px,calc(100% - 32px)); margin:0 auto; }
.nl-review-hero { padding:clamp(112px,12vw,170px) 0 clamp(72px,8vw,110px); background:radial-gradient(circle at 85% 14%,rgba(167,123,63,.25),transparent 28%),linear-gradient(135deg,#17201d,#244b41); color:#fff; }
.nl-review-eyebrow { margin:0 0 14px!important; color:#9ec6b9!important; font-size:12px!important; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.nl-review-hero h1 { margin:0!important; max-width:900px; color:#fff!important; font-family:Georgia,"Noto Serif JP","Yu Mincho",serif; font-size:clamp(38px,6vw,70px)!important; line-height:1.25!important; letter-spacing:-.035em; }
.nl-review-lead { max-width:720px; margin:26px 0 0!important; color:#e3eeea!important; font-size:clamp(16px,2vw,19px)!important; line-height:1.9!important; }
.nl-review-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.nl-review-btn { display:inline-flex; align-items:center; min-height:48px; padding:0 22px; border:1px solid rgba(255,255,255,.35); border-radius:999px; color:#fff!important; font-size:14px; font-weight:750; text-decoration:none!important; }
.nl-review-btn--primary { border-color:#fff; background:#fff; color:#17201d!important; }
.nl-review-guides { padding:clamp(64px,8vw,100px) 0; }
.nl-review-section-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.78fr); gap:clamp(28px,6vw,76px); align-items:end; margin-bottom:34px; }
.nl-review-section-head h2,.nl-review-trust h2 { margin:0!important; color:#17201d!important; font-family:Georgia,"Noto Serif JP","Yu Mincho",serif; font-size:clamp(30px,4vw,48px)!important; line-height:1.3!important; letter-spacing:-.025em; }
.nl-review-section-head>p { margin:0!important; color:#5e6964!important; font-size:15px!important; line-height:1.9!important; }
.nl-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.nl-review-card { display:flex; min-height:320px; flex-direction:column; padding:25px; border:1px solid #dfe5e1; border-radius:19px; background:#fff; }
.nl-review-card__tag { margin:0 0 15px!important; color:#1f6b58!important; font-size:11px!important; font-weight:800; letter-spacing:.1em; }
.nl-review-card h3 { margin:0 0 13px!important; color:#17201d!important; font-family:Georgia,"Noto Serif JP","Yu Mincho",serif; font-size:21px!important; line-height:1.52!important; }
.nl-review-card h3 a { color:inherit!important; text-decoration:none!important; }
.nl-review-card__excerpt { margin:0 0 24px!important; color:#5e6964!important; font-size:14px!important; line-height:1.78!important; }
.nl-review-card__meta { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:auto; padding-top:15px; border-top:1px solid #edf0ee; color:#7a8580; font-size:11px; }
.nl-review-card__meta a { color:#164c3f!important; font-size:13px; font-weight:800; text-decoration:none!important; }
.nl-review-more { margin-top:28px; text-align:right; }
.nl-review-more a { color:#164c3f!important; font-size:14px; font-weight:800; text-decoration:none!important; }
.nl-review-method { padding:clamp(68px,8vw,104px) 0; background:#17201d; color:#fff; }
.nl-review-section-head--light h2 { color:#fff!important; }
.nl-review-section-head--light>p { color:#cbd9d4!important; }
.nl-review-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid rgba(255,255,255,.15); border-radius:20px; background:rgba(255,255,255,.15); }
.nl-review-method-grid article { padding:30px; background:#1e2b27; }
.nl-review-method-grid span { color:#b59462; font-family:Georgia,serif; font-size:29px; }
.nl-review-method-grid h3 { margin:18px 0 10px!important; color:#fff!important; font-size:20px!important; }
.nl-review-method-grid p { margin:0!important; color:#c8d5d0!important; font-size:14px!important; line-height:1.8!important; }
.nl-review-trust { padding:58px 0 78px; background:#fff; }
.nl-review-trust-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:26px; }
.nl-review-trust-links a { display:flex; justify-content:space-between; gap:14px; padding:18px 19px; border:1px solid #dfe5e1; border-radius:13px; color:#17201d!important; font-size:13px; font-weight:750; text-decoration:none!important; }
.nl-review-trust-links span { color:#1f6b58; }
/* Review mode: keep the header focused on editorial content even when MyListing outputs a standalone CTA. */
body.nl-review-mode-active .header-button a[href*="/add-listing/"] { display:none!important; }
@media (max-width:920px) {
  .nl-review-section-head { grid-template-columns:1fr; align-items:start; }
  .nl-review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nl-review-trust-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .nl-review-wrap { width:min(100% - 26px,1180px); }
  .nl-review-hero { padding-top:94px; }
  .nl-review-hero h1 br,.nl-review-section-head h2 br { display:none; }
  .nl-review-grid,.nl-review-method-grid,.nl-review-trust-links { grid-template-columns:1fr; }
  .nl-review-card { min-height:0; }
  .nl-review-more { text-align:left; }
}
