/* ── 후기 창 (2026-10-10) — 혜택 '받기'를 누르면 열림. 휴대폰: 아래에서 올라오는 시트 / PC: 가운데 창. 출력: fc_review_modal_html() ── */
html.fc-rv-lock, html.fc-rv-lock body { overflow: hidden !important; }
.fc-rv { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: flex-end; justify-content: center; font-family: inherit; }
.fc-rv[hidden] { display: none !important; }
.fc-rv-back { position: absolute; inset: 0; background: rgba(9, 20, 15, 0.62); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); animation: fc-rv-fade .22s ease both; }
.fc-rv-sheet { position: relative; width: 100%; max-width: 480px; max-height: 92vh; overflow-y: auto; box-sizing: border-box; padding: 26px 20px calc(20px + env(safe-area-inset-bottom, 0px)); border-radius: 22px 22px 0 0; background: #FFFFFF; color: #14201A; text-align: center; box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.25); animation: fc-rv-up .32s cubic-bezier(.2, .9, .3, 1.15) both; }
@media (min-width: 640px) {
	.fc-rv { align-items: center; padding: 24px; }
	.fc-rv-sheet { border-radius: 22px; padding: 30px 28px 24px; animation-name: fc-rv-pop; }
}
@keyframes fc-rv-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes fc-rv-up { from { transform: translateY(100%); } to { transform: translateY(0); } }
@keyframes fc-rv-pop { from { transform: scale(.9); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.fc-rv-x { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; color: #7E8B84; font-size: 26px; line-height: 1; cursor: pointer; }
.fc-rv-x:hover { background: #F0F4F1; color: #14201A; }
.fc-rv-ic { display: inline-block; font-size: 52px; line-height: 1; margin: 0 0 6px; filter: drop-shadow(0 6px 10px rgba(229, 36, 59, 0.25)); animation: fc-rv-bob 1.6s ease-in-out infinite; }
.fc-rv-ic.is-open { animation: fc-rv-burst .7s cubic-bezier(.2, .9, .3, 1.4) both; }
@keyframes fc-rv-bob { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-6px) rotate(-6deg); } }
@keyframes fc-rv-burst { 0% { transform: scale(.3) rotate(-30deg); } 100% { transform: scale(1) rotate(0); } }
.fc-rv-h { margin: 0 0 4px !important; font-size: 20px !important; font-weight: 900 !important; line-height: 1.35 !important; letter-spacing: -0.02em; color: #14201A !important; word-break: keep-all; }
.fc-rv-class { margin: 0 0 14px !important; font-size: 13.5px !important; color: #5F6E65 !important; word-break: keep-all; }
.fc-rv-stars { display: flex; justify-content: center; gap: 4px; margin: 0 0 14px; }
.fc-rv-stars button { width: 46px; height: 46px; padding: 0; border: 0; background: none; font-size: 36px; line-height: 1; color: #DDE3DF; cursor: pointer; transition: transform .12s ease, color .12s ease; }
.fc-rv-stars button.is-on { color: #FFB800; }
.fc-rv-stars button:active { transform: scale(.85); }
.fc-rv-stars button:focus-visible { outline: 2px solid #0A7D54; outline-offset: 2px; border-radius: 8px; }
.fc-rv-label { display: block; margin: 0 0 6px; text-align: left; font-size: 14px; font-weight: 800; color: #14201A; }
.fc-rv-text { display: block; width: 100%; box-sizing: border-box; min-height: 120px; margin: 0; padding: 12px 14px; border: 1.5px solid #DFE6E1 !important; border-radius: 14px !important; background: #F9FBFA !important; color: #14201A; font: inherit; font-size: 15px; line-height: 1.6; resize: vertical; box-shadow: none !important; }
.fc-rv-text:focus { outline: none; border-color: #0A7D54 !important; background: #FFFFFF !important; }
.fc-rv-count { margin: 6px 2px 0 !important; text-align: right; font-size: 12px !important; color: #7E8B84 !important; }
.fc-rv-count.is-ok b { color: #0A7D54; }
.fc-rv-notes { margin: 12px 0 0 !important; padding: 10px 12px !important; list-style: none !important; border-radius: 12px; background: #F4F7F5; text-align: left; }
.fc-rv-notes li { position: relative; margin: 0 !important; padding: 0 0 0 12px !important; font-size: 12px; line-height: 1.6; color: #5F6E65; word-break: keep-all; }
.fc-rv-notes li::before { content: "·"; position: absolute; left: 2px; top: 0; font-weight: 900; }
.fc-rv-err { margin: 10px 0 0 !important; padding: 9px 12px; border-radius: 10px; background: #FFF1F2; color: #C8102E; font-size: 13.5px !important; font-weight: 700; }
.fc-rv-submit, .fc-rv-go { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 54px; margin: 14px 0 0; border: 0; border-radius: 16px; background: linear-gradient(135deg, #13B377 0%, #0A7D54 100%); color: #FFFFFF !important; font: inherit; font-size: 16.5px; font-weight: 900; text-decoration: none !important; cursor: pointer; box-shadow: 0 8px 20px rgba(10, 125, 84, 0.32); transition: transform .12s ease, filter .12s ease; }
.fc-rv-submit:active, .fc-rv-go:active { transform: scale(.98); }
.fc-rv-submit[disabled] { filter: grayscale(.6) brightness(1.1); cursor: wait; }
.fc-rv-go { background: linear-gradient(135deg, #FF8A3D 0%, #E5243B 100%); box-shadow: 0 10px 24px rgba(229, 36, 59, 0.35); animation: fc-rv-glow 1.6s ease-in-out infinite; }
@keyframes fc-rv-glow { 0%, 100% { box-shadow: 0 10px 24px rgba(229, 36, 59, 0.35); } 50% { box-shadow: 0 10px 34px rgba(229, 36, 59, 0.6); } }
.fc-rv-donesub { margin: 0 !important; font-size: 14px !important; color: #5F6E65 !important; }
@media (prefers-reduced-motion: reduce) {
	.fc-rv-back, .fc-rv-sheet, .fc-rv-ic, .fc-rv-go { animation: none !important; }
}
