.opinion-main{min-height:calc(100svh - 222px);padding-bottom:56px}
.opinion-heading{border-bottom:1px solid #796448;margin-bottom:32px;align-items:flex-end}
.opinion-heading h1{font-size:clamp(36px,4.7vw,60px);max-width:830px;overflow-wrap:break-word}
.opinion-heading .shelf-total{padding-top:0;flex-shrink:0}
.opinion-tools{grid-template-columns:minmax(0,1fr) minmax(180px,.4fr)}
.opinion-tools label{font-size:14px}
.opinion-empty{border:1px solid #68553b;border-top:4px double #a58a5c;background:#27221a;padding:clamp(28px,6vw,76px);min-height:340px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.opinion-empty-label{font-size:12px;letter-spacing:1.8px;color:#cfb485;margin-bottom:24px}
.opinion-empty h2{font:clamp(30px,3.7vw,46px)/1.2 var(--serif);letter-spacing:-.6px;color:#efe3cb}
.opinion-empty h2 span{color:#d1ad73}
.opinion-empty>p:not(.opinion-empty-label){font:18px/1.7 var(--serif);color:#cabea8;max-width:580px;margin-top:20px}
.opinion-empty>a{display:inline-flex;align-items:center;gap:20px;font-size:14px;line-height:1.5;min-height:44px;margin-top:30px;color:#e4c490;text-decoration:underline;text-underline-offset:5px}
.opinion-empty>a:hover{color:#fff0d2}
.opinion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.opinion-card{border:1px solid #796448;border-top:4px double #ae9367;background:#29231b;display:flex;flex-direction:column;padding:30px;min-width:0}
.opinion-meta{font-size:14px;line-height:1.7;color:#c9b693}
.opinion-card h2{font:32px/1.2 var(--serif);margin:18px 0;color:#f0e4cc;overflow-wrap:anywhere}
.opinion-card h2 a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.opinion-excerpt{font:18px/1.65 var(--serif);color:#d0c3ac;margin-bottom:24px;overflow-wrap:anywhere}
.opinion-read-link{margin-top:auto;display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:#e4c490;gap:16px}
.opinion-read-link:hover{text-decoration:underline;text-underline-offset:5px}
.article-notice{border-left:2px solid var(--gold);padding:12px 18px;margin-bottom:24px;font-size:16px;color:#ebd7b5}
.opinion-dialog{width:min(1280px,calc(100% - 32px))}
.opinion-reader{padding:clamp(24px,5vw,54px)}
.opinion-reader h2{font:clamp(30px,4vw,44px)/1.17 var(--serif);letter-spacing:-.6px;overflow-wrap:anywhere;margin-bottom:20px}
.opinion-reader .opinion-meta{color:#6a5437;border-bottom:1px solid #c3b18f;padding-bottom:24px;margin-bottom:30px}
.opinion-paragraph{font:20px/1.8 var(--serif);margin:0 0 22px;color:#372e23;overflow-wrap:anywhere;white-space:pre-line}
.opinion-paragraph:last-child{margin-bottom:0}
.opinion-preview{display:block;margin:-10px -10px 24px;padding:12px;background:#eee9de;border:1px solid #bcad90;min-height:44px}
.opinion-preview img{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:white}
.opinion-preview:hover{border-color:#f1d4a0}
.opinion-reader-tools{display:flex;gap:16px 24px;flex-wrap:wrap;align-items:center}
.opinion-reader-tools button{min-height:44px;border:1px solid #7e6240;background:#282218;color:#f0dfbf;padding:10px 18px;font-size:16px}
.opinion-reader-tools a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:#6b452a;text-decoration:underline;text-underline-offset:4px}
.opinion-scan-hint{font-size:14px;color:#715d43;line-height:1.6;margin:16px 0}
.opinion-scan{overflow:auto;max-width:100%;border:1px solid #bbaa8b;background:white;overscroll-behavior-x:contain}
.opinion-scan img{display:block;width:100%;max-width:none;height:auto}
.opinion-scan.is-enlarged img{width:1800px;min-width:100%;max-width:none}
.opinion-scan:focus-visible{outline:3px solid #96652f;outline-offset:3px}
@media(max-width:760px){.opinion-heading{align-items:flex-start;gap:18px}.opinion-heading .shelf-total{padding-top:36px}.opinion-heading .shelf-kicker{max-width:none}.opinion-grid{gap:20px}.opinion-card{padding:24px}.opinion-card h2{font-size:27px}.opinion-tools{grid-template-columns:1fr}.opinion-main{padding-bottom:36px}.opinion-empty{min-height:330px}}
@media(max-width:520px){.opinion-heading{display:block}.opinion-heading .shelf-total{padding:0;display:flex;flex-direction:row;align-items:baseline;gap:9px;text-align:left;margin-top:20px}.opinion-heading .shelf-total strong{font-size:26px}.opinion-heading .shelf-total span{font-size:14px;margin:0}.opinion-heading{padding-bottom:25px;margin-bottom:24px}.opinion-grid{grid-template-columns:minmax(0,1fr)}.opinion-empty-label{font-size:12px;letter-spacing:1px}.opinion-paragraph{font-size:18px}.opinion-empty>a{gap:12px}.opinion-dialog .shelf-dialog-top span{font-size:12px}}
.opinion-heading .opinion-byline{margin-top:12px;font:16px/1.5 var(--serif);color:#cabea8}
