:root{--ink:#073f38;--green:#16876a;--green-dark:#08765e;--mint:#eaf8f1;--gold:#e5a51f;--gold-soft:#fff2bd;--line:#d8e9df;--paper:#fffdf7;--muted:#6d857e}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;color:var(--ink);font-family:"Pretendard","Noto Sans KR",Arial,sans-serif;background:linear-gradient(135deg,#fffaf0,#effaf4)}
button,input,select,textarea{font:inherit}.review-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1180px)/2));background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}
.review-brand img{width:150px;display:block}.home-link{color:var(--ink);text-decoration:none;border:1px solid var(--line);padding:10px 16px;border-radius:999px;font-weight:800;background:#fff}
main{max-width:1180px;margin:auto;padding:30px 20px 70px}.review-hero{text-align:center;padding:24px 16px 28px}.review-hero>span,.section-heading span{font-size:13px;color:#a66a08;font-weight:900}.review-hero h1{font-size:clamp(28px,4vw,44px);margin:8px 0 10px;letter-spacing:-.04em}.review-hero p{margin:0;color:#58736c}.coupon-notice{max-width:760px;margin:20px auto 0;background:linear-gradient(120deg,#fff4c8,#fffaf0);border:1px solid #e7c768;padding:15px 18px;border-radius:12px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;box-shadow:0 10px 28px rgba(184,133,32,.1)}.coupon-notice small{color:#806532}
.review-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:20px;align-items:start}.review-form,.review-list-section{background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 16px 36px rgba(29,77,62,.08)}
.section-heading{margin-bottom:18px}.section-heading h2{font-size:23px;letter-spacing:-.03em;margin:6px 0}.review-form label{font-weight:800;font-size:14px;display:grid;gap:8px;margin:14px 0}.field-row{display:grid;grid-template-columns:.7fr 1.3fr;gap:12px}.review-form input,.review-form select,.review-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 14px;color:var(--ink);background:#fbfffc;outline:none}.review-form input:focus,.review-form select:focus,.review-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(22,135,106,.1)}.review-form input[readonly]{background:#f1f7f4;color:#375f55}
.verified-review-fields{border:0;padding:0;margin:0;min-width:0}.verified-review-fields:disabled{opacity:.55}.review-auth-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid #bfe0d2;background:linear-gradient(120deg,#eefaf5,#fffdf6);border-radius:12px;margin-bottom:18px}.review-auth-panel div{display:grid;gap:4px}.review-auth-panel strong{font-size:15px}.review-auth-panel small{color:var(--muted);line-height:1.5}.review-auth-panel button{flex:none;border:0;border-radius:999px;padding:11px 17px;background:var(--green);color:white;font-weight:900;cursor:pointer}.review-auth-panel.is-signed-in button{background:#fff;color:var(--green-dark);border:1px solid #b8d9cc}.review-auth-panel.is-empty{border-color:#edd39a;background:#fff9e9}
.selected-cleaning{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 18px;padding:12px;background:#f0faf5;border:1px solid #cfe7dc;border-radius:12px}.selected-cleaning span{display:grid;gap:3px;padding:9px 10px;background:#fff;border-radius:9px}.selected-cleaning small{font-size:11px;color:var(--muted)}.selected-cleaning strong{font-size:14px}
.score-field{border:0;padding:0;margin:18px 0}.score-field legend{font-size:14px;font-weight:800;margin-bottom:10px}.score-field legend strong{color:var(--green);margin-left:8px}.score-options{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;padding:10px 8px;background:#fffaf0;border:1px solid #f0dfb2;border-radius:12px}.score-options button{aspect-ratio:1;border:0;padding:0;background:transparent;color:#d9d5ca;cursor:pointer;display:grid;place-items:center;transition:transform .14s ease,color .14s ease,filter .14s ease}.score-options button span{font-size:clamp(24px,3vw,32px);line-height:1;text-shadow:0 1px 0 #fff}.score-options button:hover{transform:translateY(-2px) scale(1.06)}.score-options button.filled{color:var(--gold);filter:drop-shadow(0 3px 4px rgba(205,137,12,.22))}.score-options button:focus-visible{outline:3px solid rgba(22,135,106,.25);border-radius:6px}
.photo-field{margin:18px 0}.photo-field-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.photo-field-heading>div{display:grid;gap:4px}.photo-field-heading strong{font-size:14px}.photo-field-heading small{font-size:12px;line-height:1.5;color:var(--muted)}.photo-field-heading>span{font-size:12px;font-weight:900;color:var(--green);white-space:nowrap}.photo-picker{margin:0!important;min-height:92px;border:1px dashed #8fcab4;border-radius:12px;background:#f4fcf8;place-items:center;align-content:center;cursor:pointer;color:var(--green-dark)}.photo-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.photo-picker-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dff5eb;font-size:23px;line-height:1}.photo-picker strong{font-size:14px}.photo-picker small{font-size:11px;color:var(--muted)}.photo-previews{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.photo-preview{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:#eef4f1;border:1px solid var(--line)}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-preview button{position:absolute;top:6px;right:6px;width:26px;height:26px;border:0;border-radius:50%;background:rgba(0,0,0,.68);color:#fff;font-weight:900;cursor:pointer}
.public-consent{grid-template-columns:auto 1fr!important;align-items:start!important;gap:9px!important;margin:18px 0!important;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fbfdfa;font-size:12px!important;line-height:1.5}.public-consent input{width:18px;height:18px;margin:0;padding:0;accent-color:var(--green)}.form-foot{display:flex;align-items:center;justify-content:space-between}.form-foot small{color:#789087}.form-foot button{border:0;border-radius:10px;background:linear-gradient(120deg,var(--green-dark),#22b386);color:white;font-weight:900;padding:13px 24px;cursor:pointer;box-shadow:0 8px 18px rgba(8,118,94,.16)}.form-foot button:disabled{opacity:.5}.form-message{min-height:20px;margin:10px 0 0;color:var(--green);font-size:14px;font-weight:800;line-height:1.5}.form-message.is-error{color:#bd4d32}
.review-list{display:grid;gap:12px}.review-card{border:1px solid var(--line);border-radius:13px;padding:17px;background:var(--paper);box-shadow:0 8px 20px rgba(24,78,62,.04)}.review-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.review-card strong{font-size:16px}.review-card h3{margin:12px 0 0;color:#153f37;font-size:17px;line-height:1.45}.review-card .score{display:flex;align-items:center;gap:7px;color:#a86e0b;font-size:13px;font-weight:900}.review-card .score-stars{letter-spacing:-2px;font-size:15px;color:var(--gold)}.review-card p{line-height:1.65;margin:12px 0;color:#365c53;white-space:pre-wrap}.review-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:#71877f}.review-meta span{background:var(--mint);padding:5px 8px;border-radius:999px}.review-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0}.review-photos a{display:block;aspect-ratio:1;border-radius:9px;overflow:hidden;background:#edf4f0}.review-photos img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}.review-photos a:hover img{transform:scale(1.035)}.empty-review{text-align:center;color:#71877f;padding:34px 10px;line-height:1.7}
@media(max-width:820px){.review-layout{grid-template-columns:1fr}.review-list-section{order:2}}
@media(max-width:560px){.review-header{height:60px;padding:0 14px}.review-brand img{width:128px}.home-link{padding:8px 11px;font-size:13px}main{padding:18px 10px 50px}.review-hero{padding:18px 7px 24px}.review-hero p{font-size:14px;line-height:1.55}.coupon-notice{display:grid;gap:4px;padding:13px}.review-form,.review-list-section{padding:18px 14px;border-radius:13px}.field-row{grid-template-columns:1fr}.review-auth-panel{align-items:flex-start;flex-direction:column}.review-auth-panel button{width:100%}.selected-cleaning{grid-template-columns:1fr}.score-options{grid-template-columns:repeat(5,1fr);gap:2px}.score-options button span{font-size:30px}.photo-previews,.review-photos{grid-template-columns:repeat(3,1fr)}.photo-field-heading{display:grid}.form-foot button{padding-inline:20px}}
