:root{--khmer-gold:#c7922e;--khmer-ivory:#fffdf8;--khmer-red:#d71932;--khmer-navy:#07163b}
.feedback-page{background:radial-gradient(circle at 20% 30%,#fff 0,#fffdf8 28%,transparent 54%),linear-gradient(180deg,#fbfaf6,#f5f6fa);position:relative}
.feedback-page:before{content:"";position:fixed;inset:92px auto 0 0;width:92px;pointer-events:none;opacity:.24;background:radial-gradient(circle at 0 12px,transparent 0 24px,#c7922e 25px 26px,transparent 27px) 0 0/72px 72px,linear-gradient(90deg,#c7922e55 1px,transparent 1px);mask-image:linear-gradient(90deg,#000,transparent)}
.public-header{height:108px;background:linear-gradient(105deg,#061431,#0a2451 67%,#101f55);padding:0 max(28px,4vw);border-bottom:1px solid #c7922e88}
.public-header:after{height:2px;background:linear-gradient(90deg,transparent,var(--khmer-gold),var(--khmer-red),var(--khmer-gold),transparent)}
.public-header .brand-logo{width:70px;height:70px;border-radius:12px;border:2px solid #35477c}
.public-header .brand span{font-size:20px;letter-spacing:.03em}.public-header .brand small{color:#d8ae53}
.public-actions button{border-radius:9px}.public-actions a{border-radius:9px!important}
.feedback-shell{max-width:1460px;grid-template-columns:minmax(360px,500px) minmax(650px,800px);gap:70px;padding:48px 34px 70px;position:relative}
.feedback-shell:after{content:"❖  ◇  ❖";position:absolute;bottom:16px;left:50%;transform:translateX(-50%);color:#c7922e88;letter-spacing:16px;font-size:18px}
.feedback-intro{top:34px;padding:22px 0}.feedback-intro .eyebrow{color:#9b1d31}.feedback-intro .eyebrow:before{background:var(--khmer-gold)}
.feedback-intro h1{font-family:Georgia,"Kantumruy Pro",serif;color:#07163b;font-size:50px;margin-bottom:8px}
.feedback-intro h1:after{content:"";display:block;width:150px;height:2px;margin-top:24px;background:linear-gradient(90deg,var(--khmer-gold),transparent)}
.feedback-intro>p:not(.eyebrow){max-width:470px;color:#596278}
.branch-card{margin-top:26px;background:linear-gradient(135deg,#07163b,#102c62);border-radius:18px;padding:0 24px 20px;box-shadow:0 20px 45px #07163b24}
.branch-card:after{background:var(--khmer-red)}.branch-card small{margin:0 -24px 18px;padding:13px 24px;background:#ffffff0c;color:#eadcb9;border-bottom:1px solid #ffffff18}.branch-card strong{font-size:22px}.branch-card span{line-height:1.6}
.branch-card .location-verified{display:flex;margin-top:14px;color:#9fdb80;font-size:12px;align-items:center;gap:7px}.branch-card .location-verified:before{content:"✓";display:grid;place-items:center;width:18px;height:18px;border:1px solid currentColor;border-radius:50%}
.privacy{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0!important;line-height:1.45!important;overflow:hidden}.privacy span{padding:17px 13px;text-align:center;font-size:11px;color:#566179;border-right:1px solid #e3e6ee}.privacy span:last-child{border:0}.privacy span:before{display:block;color:#1b315f;font-size:18px;margin-bottom:7px}.privacy span:nth-child(1):before{content:"♢"}.privacy span:nth-child(2):before{content:"▣"}.privacy span:nth-child(3):before{content:"◎"}
.official-contact{display:none}
.reference-promise{margin-top:18px;padding:14px 17px;border:1px solid #9bc6a7;border-radius:12px;background:#f7fff8;color:#315b3b;font-size:12px;font-weight:700}.reference-promise:before{content:"✓";margin-right:9px}
.public-form-card{padding:26px 36px 34px;border-radius:20px;border:1px solid #e0e3ea;background:#fff;box-shadow:0 22px 55px #101a3d18}
.submission-switch{display:grid;grid-template-columns:1fr 1fr;margin-bottom:24px;border:1px solid #dfe3eb;border-radius:10px;overflow:hidden;background:#fafbfc}.submission-switch button{padding:13px;border:0;background:transparent;color:#303748;font-weight:800;cursor:pointer}.submission-switch button+button{border-left:1px solid #dfe3eb}.submission-switch button.active{background:#f5fbf6;color:#23723b;box-shadow:inset 0 0 0 1px #8cc69b}.submission-switch button[data-type="Complaint"].active{background:#fff6f7;color:#b91631;box-shadow:inset 0 0 0 1px #e6a7b1}
.section-title{border-bottom:1px solid #e4e6ec}.section-title>span{background:#fff7e7;color:#a57317;box-shadow:inset 0 0 0 1px #d6ac5a55}.section-title h2{font-family:Georgia,"Kantumruy Pro",serif}
.stars label{min-height:82px;background:#fff;border-color:#dfe3eb}.stars .rating-level{background:#f2f3f7}.stars input:checked+label{background:#fff9eb;border-color:#d7a33e;box-shadow:0 8px 18px #c7922e1f}.stars input:checked+label .rating-level{background:#c7922e}
.public-form-card input,.public-form-card select,.public-form-card textarea{background:#fff;border-color:#dce0e8;border-radius:9px}.upload{background:#fbfcfe!important;border-radius:10px!important}.consent{border-left:3px solid #c7922e;background:#fbfaf6}.submit-feedback{background:linear-gradient(90deg,#d71932,#c70e25);border:0;border-radius:9px;box-shadow:0 12px 24px #d7193228}.submit-feedback:hover{background:linear-gradient(90deg,#c51029,#a9081e)}
html[lang="km"] .feedback-intro h1{font-family:"Kantumruy Pro","Khmer UI Local",sans-serif;font-size:43px}
html[lang="km"] .submission-switch button{font-family:"Kantumruy Pro","Khmer UI Local",sans-serif}
@media(max-width:1050px){.feedback-shell{grid-template-columns:340px minmax(0,1fr);gap:35px;padding-inline:24px}.feedback-intro h1{font-size:40px}.privacy{grid-template-columns:1fr}.privacy span{border-right:0;border-bottom:1px solid #e3e6ee}}
@media(max-width:850px){.public-header{height:82px}.public-header .brand-logo{width:50px;height:50px}.feedback-shell{grid-template-columns:1fr;max-width:780px}.feedback-intro{padding-bottom:0}.privacy,.reference-promise{display:none}.public-form-card{padding:24px}}
@media(max-width:600px){.feedback-page:before{display:none}.feedback-shell{padding:24px 10px 48px}.feedback-intro h1{font-size:34px}.public-form-card{padding:20px 14px}.submission-switch{margin-bottom:18px}.stars label{min-height:67px}.public-header .brand span{font-size:13px}}

/* Phone layout: prevent bilingual branding and form controls from creating horizontal overflow. */
@media(max-width:600px){
  html,body.feedback-page{max-width:100%;overflow-x:hidden}
  .public-header{height:auto;min-height:82px;padding:9px 11px;gap:7px;align-items:center}
  .public-header .brand{min-width:0;flex:1;gap:8px;overflow:hidden}
  .public-header .brand-logo{width:46px;height:46px;flex:0 0 46px;border-radius:9px}
  .public-header .brand-company{min-width:0;max-width:calc(100vw - 132px);gap:1px;overflow:hidden}
  .public-header .brand-company strong{font-size:10px!important;line-height:1.55;white-space:normal!important;overflow-wrap:anywhere}
  .public-header .brand-company small{font-size:7.5px!important;line-height:1.25;white-space:nowrap;letter-spacing:0!important}
  .public-actions{flex:0 0 auto;gap:4px}
  .public-actions button{min-width:61px;padding:8px 7px;font-size:11px}
  .public-actions a{display:grid!important;place-items:center;width:34px;height:34px;padding:0!important;font-size:0;border:1px solid #ffffff35;background:#ffffff0d;color:#fff;border-radius:9px!important}
  .public-actions a:before{content:"↗";font:700 14px/1 sans-serif}
  .feedback-shell{box-sizing:border-box;width:100%;max-width:100%;padding:25px 10px 48px;gap:22px;overflow:hidden}
  .feedback-intro,.public-form-card,.branch-card{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
  .feedback-intro{padding:0 3px}
  .feedback-intro h1,html[lang="km"] .feedback-intro h1{max-width:100%;font-size:29px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}
  .feedback-intro h1:after{margin-top:13px}
  .feedback-intro>p:not(.eyebrow){max-width:100%;font-size:14px;line-height:1.9;overflow-wrap:anywhere}
  .branch-card{margin-top:18px;padding:0 17px 17px;border-radius:15px}
  .branch-card small{margin:0 -17px 14px;padding:11px 17px}
  .branch-card strong{font-size:18px;line-height:1.55;overflow-wrap:anywhere}
  .branch-card span{font-size:12px;overflow-wrap:anywhere}
  .public-form-card{padding:19px 12px;border-radius:15px;overflow:hidden}
  .section-title{gap:10px}.section-title>span{width:35px;height:35px;flex:0 0 35px}.section-title h2,html[lang="km"] .section-title h2{font-size:20px;line-height:1.55}.section-title p{font-size:10px;line-height:1.55}
  .public-form-card label,.two-col,.two-col label{min-width:0;max-width:100%}
  .public-form-card input,.public-form-card select,.public-form-card textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
  .stars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;width:100%;max-width:100%}
  .stars label{box-sizing:border-box;width:100%;min-width:0;min-height:64px;padding:10px 1px 5px!important;overflow:hidden}
  .stars .star-glyphs{max-width:100%;font-size:9px;letter-spacing:-2.4px;white-space:nowrap}
  .stars label small{display:block!important;max-width:100%;font-size:6.5px;line-height:1.35;overflow-wrap:anywhere}
  .stars .rating-level{width:15px;height:15px;top:3px;left:3px;font-size:7px}
  .upload{box-sizing:border-box;width:100%;padding:20px 10px!important}
  .consent{box-sizing:border-box;width:100%;font-size:11px}
}
@media(max-width:360px){.public-header .brand-company strong{font-size:8.5px!important}.public-header .brand-company small{font-size:6.5px!important}.public-actions button{min-width:54px;font-size:10px}.feedback-intro h1,html[lang="km"] .feedback-intro h1{font-size:26px}.stars label small{font-size:6px}}
.public-header .brand-company{display:grid;gap:2px;color:#d9a52d!important;line-height:1.25}.public-header .brand-company strong{font-family:"Kantumruy Pro","Khmer UI Local","Khmer UI",sans-serif;font-size:19px;font-weight:800;white-space:nowrap}.public-header .brand-company small{font-family:Georgia,serif;font-size:14px;letter-spacing:.03em;color:#d9a52d!important}.public-header .brand-company:before{display:none}
.public-header .brand-company strong{font-family:"Khmer OS Muol Light","Khmer OS Muol","Khmer UI",sans-serif!important;font-weight:400!important}
@font-face{font-family:"Khmer OS Muol Light";src:url('KhmerOSMuolLight.ttf') format('truetype');font-display:swap}
.public-header .brand,.public-header .brand-company,.public-header .brand-company strong,.public-header .brand-company small{text-decoration:none!important}
.upload svg,.submit-feedback svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.upload>span:not([data-i18n]){box-shadow:inset 0 1px 0 #fff,0 8px 18px #243a8620;background:linear-gradient(145deg,#fff,#e8edff)!important}.submit-feedback>span:last-child{display:grid;place-items:center}.submit-feedback>span:last-child svg{width:20px;height:20px;filter:drop-shadow(0 2px 2px #81001666)}.upload #photo-preview{display:block;max-width:100%;max-height:280px;margin:14px auto 5px;border-radius:12px;object-fit:contain;box-shadow:0 8px 24px #10184622}.upload #photo-preview[hidden]{display:none}.upload #remove-photo{margin:8px auto 0;padding:8px 14px;border:1px solid #d7dce8;border-radius:8px;background:#fff;color:#bd1230;font-weight:700}.upload #remove-photo[hidden]{display:none}.upload #photo-error{display:block;margin-top:8px;color:#bd1230;font-weight:700}
