/* ============ પાટીદાર નવરાત્રી મહોત્સવ : public feedback page (Feedback.aspx) ============
   Stand-alone stylesheet (does not use pnm.css) — mobile first, festive maroon + gold. */
:root{
  --maroon:#6d1f1f; --maroon-d:#4e1212; --kesari:#d4640a; --gold:#e0a100; --gold-l:#f6d77a;
  --ink:#2b2320; --muted:#7a6f68; --line:#eadfce; --cream:#fdf8f0; --field:#fbf6ee;
  --ok:#2f7d32;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body.fx{font-family:'Noto Sans Gujarati',system-ui,sans-serif;color:var(--ink);min-height:100vh;
  background:
    radial-gradient(circle at 0 100%, #fbe9d3 0, transparent 40%),
    radial-gradient(circle at 100% 60%, #fdf0de 0, transparent 35%),
    var(--cream)}
button{font-family:inherit}
[hidden]{display:none!important}

/* ---------- hero ---------- */
.fx-hero{position:relative;background:linear-gradient(160deg,#8a2626 0%,var(--maroon) 45%,var(--maroon-d) 100%);
  color:#fff;text-align:center;padding:34px 20px 78px}
.fx-hero-pat{position:absolute;inset:0;opacity:.22;overflow:hidden;
  background-image:
    radial-gradient(circle,var(--gold-l) 1.6px,transparent 2px),
    radial-gradient(circle,#fff 1px,transparent 1.5px);
  background-size:22px 22px,22px 22px;background-position:0 0,11px 11px}
.fx-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;
  background:repeating-linear-gradient(90deg,var(--gold) 0 14px,var(--kesari) 14px 28px,#2e7d5b 28px 42px,#1e5aa8 42px 56px)}
.fx-hero-in{position:relative;max-width:560px;margin:0 auto}
.fx-kicker{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.3px;color:var(--maroon);
  background:var(--gold-l);padding:4px 14px;border-radius:999px}
.fx-hero h1{font-size:27px;font-weight:800;margin-top:12px;line-height:1.3}
.fx-hero p{font-size:15px;color:#f6dcc0;margin-top:4px;font-weight:600}
.fx-logo{position:absolute;left:50%;bottom:-52px;transform:translateX(-50%);z-index:2;
  width:104px;height:104px;border-radius:50%;background:#fff;padding:4px;
  box-shadow:0 10px 28px rgba(78,18,18,.28)}
.fx-logo img{width:100%;height:100%;border-radius:50%;display:block}

/* ---------- layout ---------- */
.fx-wrap{max-width:560px;margin:0 auto;padding:74px 16px 24px;position:relative}

/* stepper */
.fx-steps{list-style:none;display:flex;justify-content:space-between;align-items:flex-start;
  margin:0 8px 16px;position:relative}
.fx-steps::before{content:"";position:absolute;left:12%;right:12%;top:15px;height:3px;background:var(--line);border-radius:3px}
.fx-steps li{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;gap:5px}
.fx-steps span{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:14px;background:#fff;border:2px solid var(--line);color:var(--muted);transition:.25s}
.fx-steps em{font-style:normal;font-size:12px;font-weight:700;color:var(--muted)}
.fx-steps li.on span{background:var(--maroon);border-color:var(--maroon);color:#fff;box-shadow:0 4px 12px rgba(109,31,31,.3)}
.fx-steps li.on em{color:var(--maroon)}
.fx-steps li.done span{background:var(--ok);border-color:var(--ok);color:#fff}

/* card */
.fx-card{background:#fff;border-radius:22px;padding:22px 20px 20px;
  box-shadow:0 1px 0 rgba(0,0,0,.02),0 14px 40px rgba(109,31,31,.10);border:1px solid #f1e6d6;
  animation:fxIn .35s ease}
@keyframes fxIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.fx-card h2{font-size:19px;font-weight:800;color:var(--maroon);line-height:1.35}
.fx-card h3{font-size:15px;font-weight:800;color:var(--ink);margin:22px 0 10px}
.fx-card h3 small,.fx-card h2 small{font-size:11.5px;font-weight:700;color:var(--muted);background:var(--field);
  padding:2px 9px;border-radius:999px;margin-left:6px;vertical-align:middle}
.fx-req{color:#c62828;font-style:normal}
.fx-lead{font-size:13.5px;color:var(--muted);line-height:1.7;margin-top:6px}

/* inputs */
.fx-lbl{display:block;font-size:13px;font-weight:700;color:var(--ink);margin:18px 0 7px}
.fx-phone{display:flex;align-items:center;background:var(--field);border:1.5px solid var(--line);
  border-radius:14px;overflow:hidden;transition:.2s}
.fx-phone:focus-within,.fx-capin:focus,.fx-ta textarea:focus{border-color:var(--kesari);background:#fff;
  box-shadow:0 0 0 4px rgba(212,100,10,.12)}
.fx-cc{padding:0 12px 0 16px;font-weight:800;color:var(--maroon);font-size:17px;border-right:1.5px solid var(--line)}
.fx-phone input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-family:inherit;
  font-size:20px;font-weight:700;letter-spacing:1.5px;padding:14px 14px;color:var(--ink)}
.fx-phone input::placeholder{color:#c5b8a8;font-weight:600}
.fx-err{border-color:#c62828!important;background:#fff6f6!important}

.fx-caprow{display:flex;align-items:center;gap:10px}
.fx-code{flex:0 0 auto;font-size:24px;font-weight:800;letter-spacing:7px;color:var(--maroon);
  padding:9px 10px 9px 17px;border-radius:14px;user-select:none;
  background:repeating-linear-gradient(45deg,#fff5e6 0 8px,#fdebd2 8px 16px);border:1.5px dashed #e6b877;
  font-family:'Courier New',monospace}
.fx-refresh{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);
  background:#fff;color:var(--kesari);font-size:22px;font-weight:800;cursor:pointer;transition:.3s}
.fx-refresh:hover{background:var(--field)}
.fx-refresh.spin{transform:rotate(360deg)}
.fx-capin{flex:1;min-width:0;height:50px;border:1.5px solid var(--line);border-radius:14px;background:var(--field);
  font-family:inherit;font-size:20px;font-weight:800;letter-spacing:6px;text-align:center;outline:none;color:var(--ink)}
.fx-capin::placeholder{font-size:14px;letter-spacing:0;font-weight:600;color:#c5b8a8}
.fx-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* buttons */
.fx-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:20px;
  border:none;border-radius:16px;padding:15px 20px;font-size:17px;font-weight:800;color:#fff;cursor:pointer;
  background:linear-gradient(135deg,var(--kesari),var(--maroon));
  box-shadow:0 10px 22px rgba(109,31,31,.25);transition:transform .12s,box-shadow .2s,opacity .2s}
.fx-btn:hover{box-shadow:0 12px 28px rgba(109,31,31,.32)}
.fx-btn:active{transform:translateY(1px)}
.fx-btn:disabled{opacity:.6;cursor:default}
.fx-btn b{font-size:19px}
.fx-ghost{background:#fff;color:var(--maroon);border:1.5px solid var(--line);box-shadow:none}
.fx-ghost:hover{box-shadow:none;background:var(--field)}
.fx-actions{display:flex;gap:10px}
.fx-actions .fx-ghost{flex:0 0 32%}

/* alerts / notes */
.fx-alert{display:none;margin-top:14px;padding:11px 14px;border-radius:12px;background:#fdecec;
  color:#a51d1d;font-size:13.5px;font-weight:700;line-height:1.6}
.fx-alert.show{display:block}
.fx-hello{background:linear-gradient(135deg,#f2f9e8,#e8f4dc);border:1px solid #d4e5bd;color:#27500a;
  border-radius:14px;padding:12px 15px;font-size:15px;margin-bottom:14px}
.fx-note{background:#fff5e6;border:1px solid #f0d9bd;color:#9a5a06;border-radius:12px;
  padding:10px 13px;font-size:12.5px;font-weight:700;margin-bottom:14px;line-height:1.6}

/* emoji faces (overall) */
.fx-faces{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px;padding:4px;border-radius:18px}
.fx-faces.fx-err{box-shadow:0 0 0 2px #c62828}
.fx-faces button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 2px 9px;
  border-radius:16px;border:1.5px solid var(--line);background:#fff;cursor:pointer;transition:.18s}
.fx-faces span{font-size:30px;line-height:1;filter:grayscale(.85);opacity:.7;transition:.18s}
.fx-faces em{font-style:normal;font-size:11px;font-weight:700;color:var(--muted);text-align:center;line-height:1.25}
.fx-faces button:hover span{filter:none;opacity:1;transform:scale(1.08)}
.fx-faces button.on{border-color:var(--gold);background:#fff8e6;box-shadow:0 6px 16px rgba(224,161,0,.25);transform:translateY(-2px)}
.fx-faces button.on span{filter:none;opacity:1;transform:scale(1.15)}
.fx-faces button.on em{color:var(--maroon)}

/* aspect stars */
.fx-aspects{border:1px solid var(--line);border-radius:16px;overflow:hidden}
.fx-asp{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;background:#fff}
.fx-asp + .fx-asp{border-top:1px solid #f3eadd}
.fx-asp-t{font-size:14px;font-weight:700;display:flex;align-items:center;gap:9px}
.fx-asp-t i{font-style:normal;width:32px;height:32px;border-radius:10px;background:var(--field);
  display:flex;align-items:center;justify-content:center;font-size:17px;flex:0 0 auto}
.fx-stars{display:flex;gap:2px;flex:0 0 auto}
.fx-stars button{background:none;border:none;cursor:pointer;font-size:26px;line-height:1;padding:2px;
  color:#e6dccd;transition:transform .12s,color .12s}
.fx-stars button.on{color:var(--gold)}
.fx-stars button:hover{transform:scale(1.15)}

/* textareas */
.fx-ta{position:relative;margin-bottom:10px}
.fx-ta textarea{width:100%;resize:vertical;min-height:70px;border:1.5px solid var(--line);border-radius:14px;
  background:var(--field);padding:12px 14px 24px;font-family:inherit;font-size:15px;line-height:1.6;
  color:var(--ink);outline:none;transition:.2s}
.fx-ta textarea::placeholder{color:#b9ab9a}
.fx-cnt{position:absolute;right:12px;bottom:8px;font-size:10.5px;color:#b9ab9a;font-weight:600}

/* done */
.fx-done{text-align:center;padding:34px 22px}
.fx-check{width:78px;height:78px;margin:0 auto 14px;border-radius:50%;background:var(--ok);color:#fff;
  font-size:40px;font-weight:800;display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 10px rgba(47,125,50,.12);animation:fxPop .45s cubic-bezier(.2,1.6,.4,1)}
@keyframes fxPop{from{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}
.fx-done p{font-size:15px;color:var(--muted);margin-top:8px;line-height:1.7}
.fx-jay{display:inline-block;margin-top:18px;padding:8px 22px;border-radius:999px;background:var(--maroon);
  color:#fff;font-weight:800;font-size:15px}

/* footer */
.fx-foot{text-align:center;font-size:12.5px;color:var(--muted);margin-top:22px;line-height:1.7}
.fx-foot b{color:var(--maroon)}

/* ---------- small phones ---------- */
@media (max-width:480px){
  .fx-stars button{font-size:23px;padding:1px}
  .fx-asp{padding:10px 12px}
  .fx-asp-t{font-size:13.5px}
}
@media (max-width:380px){
  .fx-hero h1{font-size:23px}
  .fx-faces{gap:5px}
  .fx-faces span{font-size:26px}
  .fx-faces em{font-size:10px}
  .fx-asp{flex-direction:column;align-items:flex-start;gap:6px}
  .fx-code{font-size:21px;letter-spacing:5px;padding-left:13px}
}
/* ---------- larger screens ---------- */
@media (min-width:700px){
  .fx-hero{padding:46px 20px 86px}
  .fx-hero h1{font-size:34px}
  .fx-card{padding:28px 30px 26px}
}
