/* মোবাইল-ফার্স্ট ধাপে ধাপে ফর্ম */
html{-webkit-text-size-adjust:100%}
body{font-size:17px;-webkit-tap-highlight-color:transparent}
.wrap{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
/* ধাপ অগ্রগতি */
.steps{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;gap:2px;max-width:820px;margin:-26px auto 12px;padding:8px 10px 6px;background:rgba(255,250,240,.96);backdrop-filter:blur(6px);border-radius:0 0 18px 18px;border:1px solid var(--bd);border-top:0;box-shadow:0 6px 16px rgba(11,93,59,.12)}
.steps .st{flex:1;text-align:center;position:relative;font-size:11.5px;color:#8a8a75}
.steps .st i{display:flex;margin:0 auto 2px;width:30px;height:30px;border-radius:50%;background:#eee6cf;color:#8a7a40;font-style:normal;font-weight:700;align-items:center;justify-content:center;font-size:14px;position:relative;z-index:1}
.steps .st:not(:last-child):after{content:'';position:absolute;top:15px;left:calc(50% + 17px);right:calc(-50% + 17px);height:3px;background:#eee6cf;z-index:0}
.steps .st.done:not(:last-child):after{background:var(--g2)}
.steps .st.done i{background:var(--g2);color:#fff;cursor:pointer}.steps .st.done{color:var(--g)}
.steps .st.cur i{background:linear-gradient(135deg,#e6bb3a,#c99a1e);color:#3d2d00;box-shadow:0 0 0 4px rgba(212,166,42,.3)}.steps .st.cur{color:#3d2d00;font-weight:700}
/* হিরো ছোট হয়ে যায় ২য় ধাপ থেকে */
.hero{transition:padding .25s}
body.mini .hero{padding:34px 12px 40px}
body.mini .hero .badge,body.mini .hero .chips,body.mini .hero .addr,body.mini .hero h2,body.mini .hero .en{display:none}
body.mini .hero .logo{width:54px;height:54px}body.mini .hero h1{font-size:20px;margin:6px 0 0}
body.mini #dl,body.mini #welcome{display:none!important}
/* কার্ড/ধাপ */
.step{animation:fadeIn .25s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hint{margin:0 0 6px;color:#5a5a48;font-size:15px}
h4.sub{margin:18px 0 6px;font-family:NSB,EN,serif;color:var(--g);font-size:17px;border-left:4px solid var(--gold);padding-left:9px}
.card.info{padding:0}.card.info summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:700;color:var(--g);display:flex;gap:8px;align-items:center}
.card.info summary::-webkit-details-marker{display:none}.card.info summary em{margin-left:auto;font-style:normal}
.card.info[open] summary{border-bottom:2px solid var(--gold);background:linear-gradient(90deg,#f3ead0,#fffaf0)}
.note ul{margin:6px 0 0;padding-left:20px}
/* বড় ইনপুট */
input,select,textarea{font-size:17px;min-height:52px;padding:12px 14px;border-radius:14px}
label{font-size:15px;margin-top:14px}
input.bad,select.bad{border-color:#d33;background:#fff5f4;box-shadow:0 0 0 3px rgba(221,51,51,.12)}
.fe{color:#c0392b;font-size:14px;font-weight:700;margin:4px 2px 0}.fe:before{content:'⚠ '}
/* বিভাগ বাছাই */
.kinds{gap:12px}.kind{padding:18px 10px;min-height:150px}.kind .ic{width:64px;height:64px;font-size:34px}.kind b{font-size:18px}
/* ছবি */
.photo{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.pimg{position:relative;width:120px;flex:none}.pimg img{width:120px;height:150px;object-fit:cover;border-radius:14px;border:3px solid #fff;outline:2px solid var(--g);background:#fff;box-shadow:0 6px 14px rgba(0,0,0,.2)}
.pimg span{display:block;text-align:center;font-size:12.5px;margin-top:6px;color:#8a6a00}.pimg span.ok{color:#1a8f3c;font-weight:700}
.pbtns{flex:1;min-width:170px;display:grid;gap:10px}.pbtn{margin:0;display:flex;align-items:center;justify-content:center;min-height:54px;font-size:16px;text-align:center}
/* অতিথি স্টেপার */
.stepper{display:flex;align-items:center;justify-content:center;gap:22px;background:#fffdf5;border:2px dashed var(--gold);border-radius:16px;padding:10px;margin:6px 0}
.stepper button{width:56px;height:56px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--g),var(--g2));color:#fff;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 4px 10px rgba(11,93,59,.3)}
.stepper button:disabled{background:#ccc;box-shadow:none}.stepper div{text-align:center;min-width:90px}.stepper b{display:block;font-size:34px;font-family:NSB,EN,serif;color:var(--g);line-height:1.1}.stepper small{color:#6b6b55}
.guest{border:2px dashed var(--gold);border-radius:16px;padding:4px 14px 14px;margin-top:12px;background:#fffdf5}.guest .gh{margin-top:12px;font-weight:700;color:#8a6a00}
/* রিভিউ */
.rv{display:flex;gap:12px;align-items:flex-start;background:#f8fbf9;border:1px solid var(--bd);border-radius:16px;padding:12px}
.rv>img{width:84px;height:105px;object-fit:cover;border-radius:10px;border:2px solid #fff;outline:2px solid var(--g);flex:none}.rv>div{flex:1;min-width:0}
.rr{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--bd);padding:5px 0;font-size:15px}.rr:last-child{border:0}.rr span{color:#6b6b55;flex:none}.rr b{text-align:right;word-break:break-word}
.paynote{background:#eef7f1;border:1px solid #bfdcc9;border-radius:14px;padding:12px 14px;font-size:15px;margin-top:12px}
.sum table td{padding:9px 0;font-size:16px}
/* নিচের স্থির বার */
.bar{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
.bar .bi{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}
.bar .bk{width:52px;height:52px;border-radius:14px;border:2px solid rgba(255,255,255,.5);background:rgba(255,255,255,.12);color:#fff;font-size:32px;line-height:1;cursor:pointer}
.bar .tot{min-width:0}.bar .btn{min-height:52px;padding:10px 18px;font-size:17px}
@media(max-width:380px){.bar .btn.big{padding:10px 12px;font-size:15px}.steps .st span{font-size:10px}}
/* অপেক্ষা ওভারলে */
.busy{position:fixed;inset:0;z-index:99;background:rgba(8,73,47,.88);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:19px}
.spin{width:54px;height:54px;border:5px solid rgba(255,255,255,.3);border-top-color:var(--gold);border-radius:50%;margin:0 auto 14px;animation:sp .8s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
/* হিরো ছোট স্ক্রিনে */
@media(max-width:620px){
  .hero{padding:44px 12px 58px}.hero .badge{width:104px;height:104px}.hero .logo{width:70px;height:70px}
  .card.ok .btn,.pg .card .btn.full{display:block;width:100%;margin:10px 0;text-align:center;min-height:54px;line-height:34px}
  .idno{font-size:22px}
}
/* "সফল" ও খোঁজার পেজ */
.pg .card .btn{min-height:50px}.pg input{margin-bottom:6px}
/* ছোট স্ক্রিনে হিরো কমপ্যাক্ট: প্রথম স্ক্রিনেই বাছাই দেখা যাবে */
@media(max-width:620px){
  .hero{padding:30px 12px 46px}
  .hero .in{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px}
  .hero .logo{width:60px;height:60px}.hero .badge{width:76px;height:76px;margin:0}
  .hero h1{flex-basis:100%;font-size:23px;margin:2px 0 0}.hero .en{flex-basis:100%;font-size:12.5px}
  .hero h2{font-size:16px;padding:3px 16px;margin:2px 0 0}
  .hero .chips,.hero .addr{display:none}
  .steps{margin-top:-22px}
  .dl{margin:0 0 10px;padding:8px 12px;font-size:15px}
  .card.info summary{padding:11px 14px;font-size:15px}
}

.find{display:block;margin-top:16px;padding:12px 14px;border:2px dashed var(--gold);border-radius:14px;background:#fffdf5;color:var(--g);font-weight:700;text-decoration:none;text-align:center;font-size:15px;line-height:1.5}
/* ওভারল্যাপ ঠিক: ধাপ-বার ও শেষ-তারিখ বক্স এখন নিজের জায়গায় */
.steps,.steps{margin:0 auto 14px}
.dl{margin:0 auto 14px}
.wrap{margin-top:0}
.hero{padding-bottom:64px}
@media(max-width:620px){.steps{margin:0 auto 12px}.dl{margin:0 0 12px}.hero{padding-bottom:50px}}

input.good,select.good{border-color:#1a8f3c;background:#f6fcf8}
input.bad{animation:shake .25s}@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

/* ভাসমান ভুলের বার্তা */
#toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#c0392b;color:#fff;padding:12px 18px;border-radius:14px;font-weight:700;font-size:15px;z-index:60;opacity:0;pointer-events:none;transition:.25s;max-width:92vw;text-align:center;box-shadow:0 8px 20px rgba(0,0,0,.3)}
#toast.on{opacity:1;transform:translate(-50%,0)}
.kinds.shake{animation:shake .3s}
/* হিরো সব স্ক্রিনে কমপ্যাক্ট — প্রথম স্ক্রিনেই বাছাই দেখা যাবে */
.hero{padding:30px 12px 46px}
.hero .in{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px}
.hero .logo{width:60px;height:60px}.hero .badge{width:76px;height:76px;margin:0}
.hero h1{flex-basis:100%;font-size:24px;margin:2px 0 0}.hero .en{flex-basis:100%;font-size:13px}
.hero h2{font-size:16px;padding:3px 16px;margin:2px 0 0}
.hero .chips,.hero .addr{display:none}
.steps{margin:0 auto 12px}
/* বাটন-ক্লিক বাগ ফিক্স: ফুটার আর নিচের বারের উপর উঠতে পারবে না, ক্লিকও আটকাবে না */
.foot{position:relative;z-index:0;pointer-events:none}
.wrap{z-index:2}
.bar{z-index:40}

/* ক্রেডিট লিংক */
.foot a,.credit a{pointer-events:auto}
.credit{margin-top:12px;padding-top:10px;border-top:1px dashed var(--bd);font-size:13px;color:#6b6b55;pointer-events:auto}
.credit a{color:var(--g);font-weight:700;text-decoration:none;border-bottom:1.5px solid var(--gold)}
.credit a:hover{color:#8a6a00}

/* অতিথির ছবির কার্ড */
.gp{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border:2px dashed var(--gold);border-radius:16px;padding:12px;margin-top:12px;background:#fffdf5}
.gp .pimg{width:96px;flex:none}.gp .pimg img{width:96px;height:120px}
.gname{font-size:16px;color:var(--g);line-height:1.3;word-break:break-word}.gname small{display:block;color:#6b6b55;font-size:13px}

/* ফর্ম পলিশ: ইনপুট লেবেলের ভেতরে থাকায় বোল্ড হয়ে যাচ্ছিল — স্বাভাবিক ওজন, হালকা প্লেসহোল্ডার */
label{font-weight:600;color:#2b3a4a}
input,select,textarea{font-weight:400;color:var(--tx);border-color:#ddd5bd}
input::placeholder,textarea::placeholder{color:#a8a596;font-weight:400;opacity:1}
input:hover,select:hover,textarea:hover{border-color:#cfc39c}
input:focus,select:focus,textarea:focus{background:#fff}
select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:42px}
select,select.good,select.bad,select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230b5d3b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
select.empty{color:#a8a596}
select option{color:var(--tx)}
input.good,select.good{background-color:#f6fcf8}
input.bad,select.bad{background-color:#fff5f4}
label small{font-size:13px}
.lang{vertical-align:2px}
