/* =====================================================================
   Air Divine — "The Air Divine Promise" স্তম্ভ + লোগোসহ QR (r46)
   হালকা আইভরি প্যানেল, সূক্ষ্ম সোনালি ফ্রেম, উপরে ইংরেজি ট্যাগ। একরঙা — গ্রেডিয়েন্ট নেই।
   ===================================================================== */
/* React-এর পুরোনো সারি লুকিয়ে নতুনটা */
html body .blk .why.has-pl {
  display: block !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; margin-top: 26px;
}
html body .blk .why.has-pl > .why__item { display: none !important; }

.pl {
  --pl-m: #730522; --pl-ink: #1f1418; --pl-mut: #6e6266; --pl-gold: #b8892f; --pl-goldL: #e6d3ab; --pl-line: #ece2d0; --pl-bg: #fbf8f2;
  position: relative; background: var(--pl-bg); border: 1px solid var(--pl-line); border-radius: 22px; padding: 44px 30px 30px;
}
.why[data-plbg="white"] .pl { --pl-bg: #fff; }
.why[data-plbg="stone"] .pl { --pl-bg: #f1ece4; }
.why[data-plbg="lines"] .pl { --pl-bg: transparent; border-color: transparent; border-top: 1px solid var(--pl-goldL); border-bottom: 1px solid var(--pl-goldL); border-radius: 0; }
.pl::before { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(184, 137, 47, .22); border-radius: 15px; pointer-events: none; }
.why[data-plbg="lines"] .pl::before { display: none; }

/* উপরের ইংরেজি ট্যাগ */
.pl__tag {
  position: absolute; left: 50%; top: 0; transform: translate(-50%, -50%); z-index: 1;
  display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px; white-space: nowrap;
  background: #fff; border: 1px solid var(--pl-goldL); border-radius: 999px; color: var(--pl-m);
  font-size: 10.5px; font-weight: 600; line-height: 1; letter-spacing: .26em; text-transform: uppercase;
  box-shadow: 0 0 0 4px var(--pl-bg-solid, #f4f2f3), 0 10px 20px -16px rgba(58, 6, 20, .5);
}
.pl__tag::before, .pl__tag::after { content: ""; width: 5px; height: 5px; background: var(--pl-gold); transform: rotate(45deg); flex: none; }

/* বিন্যাস: স্তম্ভ + QR */
.pl__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 26px; align-items: center; position: relative; }
.pl__grid.has-qr.qr-right { grid-template-columns: minmax(0, 1fr) 208px; }
.pl__grid.has-qr.qr-left { grid-template-columns: 208px minmax(0, 1fr); }
.pl__items { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pl__grid--1 .pl__items { grid-template-columns: 1fr; }
.pl__grid--2 .pl__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pl__grid--3 .pl__items, .pl__grid--6 .pl__items { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.pl__item {
  display: flex; flex-direction: column; gap: 14px; padding: 6px 22px 8px; text-decoration: none; color: inherit; position: relative;
  transition: transform .4s cubic-bezier(.2, .8, .2, 1);
}
.pl__item + .pl__item::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 1px; background: var(--pl-line); }
.pl__grid--3 .pl__item:nth-child(4)::before, .pl__grid--6 .pl__item:nth-child(4)::before { display: none; }
.pl__grid--6 .pl__item:nth-child(n+4) { margin-top: 18px; }
.pl__ic {
  width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; flex: none;
  background: #fff; color: var(--pl-m); border: 1px solid var(--pl-goldL); box-shadow: 0 0 0 5px rgba(184, 137, 47, .07);
  transition: background-color .35s, color .35s, border-color .35s, transform .5s cubic-bezier(.2, .8, .2, 1);
}
.pl__ic svg { width: 20px; height: 20px; display: block; }
.pl__tx { display: flex; flex-direction: column; min-width: 0; }
.pl__tx b {
  color: var(--pl-ink); font-size: 16px; font-weight: 600; line-height: 1.3; position: relative; padding-bottom: 7px; align-self: flex-start;
}
.pl__tx b::after { content: ""; position: absolute; left: 0; bottom: 0; width: 18px; height: 1.5px; background: var(--pl-gold); border-radius: 2px; transition: width .45s cubic-bezier(.2, .8, .2, 1); }
.pl__tx > span { margin-top: 7px; color: var(--pl-mut); font-size: 13px; line-height: 1.6; }
.pl__item:hover { transform: translateY(-3px); }
.pl__item:hover .pl__ic { background: var(--pl-m); color: #e9cf8f; border-color: var(--pl-m); transform: rotate(-8deg) scale(1.05); }
.pl__item:hover .pl__tx b::after { width: 100%; }
a.pl__item:focus-visible { outline: 2px solid var(--pl-gold); outline-offset: 4px; border-radius: 10px; }

/* QR কার্ড */
.pl__qr {
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 14px 14px 16px;
  background: #fff; border: 1px solid var(--pl-goldL); border-radius: 16px; position: relative;
  box-shadow: 0 18px 30px -26px rgba(58, 6, 20, .55);
}
.pl__qr::before { content: ""; position: absolute; inset: 5px; border: 1px dashed rgba(184, 137, 47, .3); border-radius: 12px; pointer-events: none; }
.pl__qrcode { display: block; width: 148px; height: 148px; border-radius: 10px; overflow: hidden; background: #fff; transition: transform .4s cubic-bezier(.2, .8, .2, 1); }
.pl__qrcode svg, .pl__qrcode img { width: 100%; height: 100%; display: block; object-fit: contain; }
a.pl__qrcode:hover { transform: scale(1.03); }
.pl__qrtx { display: flex; flex-direction: column; gap: 3px; }
.pl__qrtx b { color: var(--pl-m); font-size: 13.5px; font-weight: 600; line-height: 1.3; }
.pl__qrtx span { color: var(--pl-mut); font-size: 11.5px; line-height: 1.45; }

@media (max-width: 1024px) {
  .pl__grid.has-qr.qr-right, .pl__grid.has-qr.qr-left { grid-template-columns: minmax(0, 1fr); }
  .pl__items, .pl__grid--3 .pl__items, .pl__grid--6 .pl__items { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 22px; }
  .pl__item:nth-child(odd)::before { display: none; }
  .pl__grid--6 .pl__item:nth-child(4)::before { display: block; }
  .pl__grid--6 .pl__item:nth-child(n+4) { margin-top: 0; }
  .pl__qr { flex-direction: row; text-align: left; justify-self: center; max-width: 420px; width: 100%; }
  .pl__grid.qr-left .pl__qr { order: 2; }
  .pl__qrcode { width: 112px; height: 112px; flex: none; }
}
@media (max-width: 560px) {
  .pl { padding: 38px 14px 18px; border-radius: 18px; }
  .pl::before { inset: 6px; border-radius: 13px; }
  .pl__tag { font-size: 9.5px; letter-spacing: .2em; padding: 7px 14px; }
  .pl__items, .pl__grid--2 .pl__items, .pl__grid--3 .pl__items, .pl__grid--6 .pl__items { grid-template-columns: 1fr; row-gap: 0; }
  .pl__item { flex-direction: row; align-items: center; gap: 14px; padding: 14px 6px; }
  .pl__item::before { display: none !important; }
  .pl__item + .pl__item { border-top: 1px solid var(--pl-line); }
  .pl__ic { width: 42px; height: 42px; }
  .pl__tx b { font-size: 15px; }
  .pl__tx > span { font-size: 12.5px; margin-top: 5px; }
  .pl__item:hover { transform: none; }
  .pl__qr { padding: 12px; gap: 12px; }
  .pl__qrcode { width: 96px; height: 96px; }
}
@media (prefers-reduced-motion: reduce) { .pl__item, .pl__ic, .pl__tx b::after, .pl__qrcode { transition: none; } }

/* ---------- দম্পতি / বাবা-মা / মেধাবী পেজের লোগো-QR ---------- */
.cp-qr.adq-on .cp-qr__box > svg:not(.adq) { display: none !important; }
.cp-qr__box > svg.adq { display: block; width: 100%; height: auto; }
.cp-qr .adq-dl { margin-top: 2px; display: inline-flex; align-items: center; gap: 6px; }
.cp-qr .adq-dl svg { width: 14px; height: 14px; flex: none; }

/* ---------- অ্যাডমিন ---------- */
.ple .ple__box { width: min(960px, 100%); }
.ple__dd { border: 1px solid #ecdcc0; border-radius: 10px; background: #fffdf8; }
.ple__dd > summary { cursor: pointer; padding: 12px 14px; font-size: 14px; font-weight: 700; color: #730522; list-style: none; display: flex; align-items: center; gap: 8px; }
.ple__dd > summary::-webkit-details-marker { display: none; }
.ple__dd > summary::after { content: ""; margin-left: auto; width: 8px; height: 8px; border-right: 1.5px solid #b8892f; border-bottom: 1.5px solid #b8892f; transform: rotate(45deg); transition: transform .25s; }
.ple__dd[open] > summary::after { transform: rotate(-135deg); }
.ple__dd > summary small { font-weight: 500; color: #8a7e82; font-size: 11.5px; }
.ple__in { padding: 0 14px 14px; display: grid; gap: 10px; }
.ple__grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 10px; }
.ple__span2 { grid-column: 1 / -1; }
.ple select { width: 100%; padding: 9px 10px; border: 1px solid #ddd; border-radius: 7px; font: inherit; font-size: 14px; background: #fff; }
.ple label.adm-adx__on { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.ple label.adm-adx__on input { width: 16px; height: 16px; accent-color: #730522; }
.ple__list { display: grid; gap: 6px; }
.ple__item { border: 1px solid #efe5d3; border-radius: 9px; background: #fff; }
.ple__item > summary { cursor: pointer; display: flex; align-items: center; gap: 10px; padding: 8px 10px; list-style: none; }
.ple__item > summary::-webkit-details-marker { display: none; }
.ple__item > summary b { flex: 1; font-size: 13px; color: #1f1a1c; }
.ple__item > .ple__grid2 { padding: 0 10px 10px; }
.ple__ico { width: 30px; height: 30px; border-radius: 50%; border: 1px solid #e6d3ab; color: #730522; display: grid; place-items: center; flex: none; }
.ple__ico svg { width: 15px; height: 15px; }
.ple__ord { display: flex; gap: 4px; }
.ple__ord .b { padding: 5px 9px !important; min-width: 0; }
.ple [data-add] { justify-self: start; }
.ple__row { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.ple__grow { flex: 1 1 200px; }
.ple__up { cursor: pointer; display: inline-flex; align-items: center; }
.ple__qth { width: 54px; height: 54px; border-radius: 6px; border: 1px solid #eee; background: #fafafa; overflow: hidden; }
.ple__qth:empty { display: none; }
.ple__qth img { width: 100%; height: 100%; object-fit: contain; }
.ple__qrpv { font-size: 12px; color: #6b5a3a; background: #fbf6ec; border: 1px solid #efe1c4; border-radius: 7px; padding: 8px 10px; word-break: break-all; }
.ple__pv { background: #f4f2f3; border-radius: 10px; padding: 26px 12px 12px; }
.ple .adm-adx__foot { display: flex; align-items: center; gap: 10px; }
.ple .adm-adx__foot .adm-adx__msg { margin-right: auto; }
@media (max-width: 760px) { .ple__grid2 { grid-template-columns: 1fr; } }

/* =====================================================================
   r47 — আরও সরু, পরিষ্কার: পাতলা ট্যাগ, ছোট QR ("Scan for details"),
   সব মাপে মসৃণ রেসপন্সিভ
   ===================================================================== */
.pl { padding: 34px 26px 22px; border-radius: 20px; }
.pl::before { inset: 7px; border-radius: 14px; border-color: rgba(184, 137, 47, .18); }

/* ট্যাগ: পাতলা পিল, দুই পাশে সোনালি সরু রেখা */
.pl__tag {
  padding: 6px 14px; gap: 9px; font-size: 9.5px; letter-spacing: .32em; font-weight: 600;
  border-color: #e9d9b6; box-shadow: 0 0 0 3px #f4f2f3;
}
.pl__tag::before, .pl__tag::after { width: 4px; height: 4px; }

/* স্তম্ভ: একটু ছোট, হালকা */
.pl__grid { gap: 22px; }
.pl__item { gap: 12px; padding: 4px 20px 6px; }
.pl__ic { width: 42px; height: 42px; box-shadow: 0 0 0 4px rgba(184, 137, 47, .06); }
.pl__ic svg { width: 18px; height: 18px; }
.pl__tx b { font-size: 15px; padding-bottom: 6px; }
.pl__tx > span { font-size: 12.5px; margin-top: 6px; line-height: 1.55; }

/* ছোট QR কার্ড */
.pl__grid.has-qr.qr-right { grid-template-columns: minmax(0, 1fr) 128px; }
.pl__grid.has-qr.qr-left { grid-template-columns: 128px minmax(0, 1fr); }
.pl__qr {
  gap: 8px; padding: 10px 10px 9px; border-radius: 14px; justify-self: center; width: 128px;
  box-shadow: 0 14px 24px -22px rgba(58, 6, 20, .6);
}
.pl__qr::before { inset: 4px; border-radius: 11px; }
.pl__qrcode { width: 96px; height: 96px; border-radius: 8px; }
.pl__qrtx { gap: 2px; }
.pl__qrtx b {
  font-size: 9px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--pl-m); line-height: 1.3;
}
.pl__qrtx span { font-size: 10.5px; }

/* ১২৮০-এর নিচে: চার কলাম চাপা লাগলে দুই কলাম */
@media (max-width: 1180px) {
  .pl__items, .pl__grid--3 .pl__items, .pl__grid--6 .pl__items { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 20px; }
  .pl__grid--3 .pl__item:nth-child(4)::before, .pl__grid--6 .pl__item:nth-child(4)::before { display: block; }
  .pl__item:nth-child(odd)::before { display: none; }
  .pl__grid--6 .pl__item:nth-child(n+4) { margin-top: 0; }
}
/* ট্যাবলেট: QR নিচে, মাঝখানে, পাশাপাশি ছোট লেখা */
@media (max-width: 1024px) {
  .pl__grid.has-qr.qr-right, .pl__grid.has-qr.qr-left { grid-template-columns: minmax(0, 1fr); }
  .pl__qr { flex-direction: row; width: auto; max-width: none; justify-self: center; padding: 8px 16px 8px 8px; gap: 12px; text-align: left; }
  .pl__qrcode { width: 72px; height: 72px; }
}
/* মোবাইল */
@media (max-width: 560px) {
  .pl { padding: 30px 12px 14px; border-radius: 16px; }
  .pl::before { inset: 5px; border-radius: 12px; }
  .pl__tag { font-size: 8.5px; letter-spacing: .26em; padding: 5px 12px; gap: 7px; }
  .pl__items, .pl__grid--2 .pl__items, .pl__grid--3 .pl__items, .pl__grid--6 .pl__items { grid-template-columns: 1fr; row-gap: 0; }
  .pl__item { flex-direction: row; align-items: flex-start; gap: 12px; padding: 13px 6px; }
  .pl__item::before { display: none !important; }
  .pl__item + .pl__item { border-top: 1px solid var(--pl-line); }
  .pl__ic { width: 38px; height: 38px; margin-top: 2px; }
  .pl__ic svg { width: 16px; height: 16px; }
  .pl__tx b { font-size: 14.5px; }
  .pl__tx > span { font-size: 12.5px; }
  .pl__grid { gap: 12px; }
  .pl__qr { padding: 7px 14px 7px 7px; }
  .pl__qrcode { width: 64px; height: 64px; }
}
@media (max-width: 360px) {
  .pl { padding-left: 8px; padding-right: 8px; }
  .pl__tag { letter-spacing: .18em; }
}
.pl__qrtx b { white-space: nowrap; letter-spacing: .13em; font-size: 8.5px; }
@media (max-width: 1024px) { .pl__qrtx b { font-size: 9.5px; letter-spacing: .2em; } }

/* =====================================================================
   উপহারদাতার নামে QR কার্ড (r47)
   ===================================================================== */
.adg {
  position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px;
  margin: 16px auto 4px; padding: 20px 18px 16px; max-width: 320px; width: 100%;
  background: #fbf8f2; border: 1px solid #e6d3ab; border-radius: 16px;
}
.adg::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(184, 137, 47, .25); border-radius: 11px; pointer-events: none; }
.adg__lbl {
  font-size: 9.5px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: #b8892f;
  display: inline-flex; align-items: center; gap: 8px;
}
.adg__lbl::before, .adg__lbl::after { content: ""; width: 4px; height: 4px; background: #b8892f; transform: rotate(45deg); }
.adg__name { margin-top: 4px; color: #730522; font-size: 21px; font-weight: 600; line-height: 1.25; word-break: break-word; }
.adg__line { color: #6e6266; font-size: 12.5px; line-height: 1.5; max-width: 260px; }
.adg__qr { display: block; width: 124px; height: 124px; margin: 8px 0 2px; padding: 6px; background: #fff; border: 1px solid #ecdfc4; border-radius: 12px; }
.adg__qr svg { width: 100%; height: 100%; display: block; }
.adg__hint { color: #8a7e82; font-size: 11px; line-height: 1.45; max-width: 240px; }
.adg__dl {
  margin-top: 6px; display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px; cursor: pointer;
  border-radius: 999px; border: 1px solid #730522; background: #730522; color: #fdf6ea; font: inherit; font-size: 12.5px; font-weight: 600;
  transition: background-color .25s, color .25s;
}
.adg__dl:hover { background: #fff; color: #730522; }
.adg__dl svg { flex: none; }
.modal__done.has-adg { padding-bottom: 6px; }

/* পপআপ */
.adg-pop {
  position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center;
  padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  background: rgba(28, 8, 14, .55); opacity: 0; transition: opacity .3s;
}
.adg-pop.is-on { opacity: 1; }
.adg-pop__box {
  position: relative; width: min(380px, 100%); max-height: 100%; overflow: auto; padding: 22px 20px 18px; border-radius: 20px; background: #fff;
  box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6); transform: translateY(10px) scale(.98); transition: transform .4s cubic-bezier(.2, .8, .2, 1);
}
.adg-pop.is-on .adg-pop__box { transform: none; }
.adg-pop__box .adg { margin-top: 6px; }
.adg-pop__eye { display: block; text-align: center; font-size: 10px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: #730522; }
.adg-pop__x {
  position: absolute; right: 10px; top: 10px; width: 34px; height: 34px; border-radius: 50%; border: 1px solid #eee3cf; background: #fff; color: #5d4f54;
  display: grid; place-items: center; cursor: pointer; z-index: 1;
}
.adg-pop__x:hover { color: #730522; border-color: #d9c39a; }

/* পেজে: এই ফোন থেকে পাঠানো উপহারের কার্ড */
.adg-mine { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 8px; padding-top: 10px; border-top: 1px dashed #e6d3ab; width: 100%; }
.adg-mine small { width: 100%; font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: #b8892f; }
html:not([lang="en"]) .adg-mine small { letter-spacing: .04em; text-transform: none; font-size: 11.5px; }
.adg-mine button {
  height: 28px; padding: 0 11px; border-radius: 999px; border: 1px solid #e6d3ab; background: #fff; color: #730522; cursor: pointer;
  font: inherit; font-size: 12px; font-weight: 600; transition: background-color .25s, color .25s;
}
.adg-mine button:hover { background: #730522; color: #fdf6ea; border-color: #730522; }
@media (max-width: 420px) {
  .adg { padding: 18px 12px 14px; }
  .adg__name { font-size: 19px; }
  .adg__qr { width: 112px; height: 112px; }
}
@media (prefers-reduced-motion: reduce) { .adg-pop, .adg-pop__box { transition: none; } }
html:not([lang="en"]) .adg-pop__eye { letter-spacing: .02em; font-size: 13px; text-transform: none; }
