/* Nini — popup "Đã thêm vào giỏ" (desktop: hộp giữa màn hình; mobile: khung trượt từ đáy). */
.nini-pop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}
.nini-pop[hidden]{display:none}
.nini-pop__overlay{position:absolute;inset:0;background:var(--n-cocoa,#0B2A42);opacity:0;transition:opacity .2s}
.nini-pop.is-open .nini-pop__overlay{opacity:.55}
.nini-pop__box{position:relative;width:680px;max-width:100%;max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:28px;padding:28px 32px;box-shadow:0 24px 60px rgba(11,42,66,.25);transform:translateY(16px);opacity:0;transition:transform .25s ease,opacity .2s}
.nini-pop.is-open .nini-pop__box{transform:none;opacity:1}
body.nini-pop-open{overflow:hidden}
.nini-pop__head{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.nini-pop__head h2{flex:1;margin:0;font:600 26px/1.2 Fraunces,serif;color:var(--n-cocoa)}
.nini-pop__ok{width:36px;height:36px;border-radius:50%;background:var(--n-husk);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none}
.nini-pop__close{width:44px;height:44px;border-radius:50%!important;border:0!important;background:var(--n-cream)!important;color:var(--n-cocoa)!important;display:inline-flex;align-items:center;justify-content:center;padding:0!important}
.nini-pop__close:hover{background:var(--n-corn1)!important}
.nini-pop__item{display:flex;align-items:center;gap:16px;background:var(--n-cream);border-radius:20px;padding:14px 18px 14px 14px;margin-bottom:18px}
.nini-pop__item img{width:88px;height:88px;object-fit:contain;border-radius:16px;background:#fff;flex:none}
.nini-pop__info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.nini-pop__info strong{font:600 18px/1.3 "Be Vietnam Pro",sans-serif;color:var(--n-cocoa)}
.nini-pop__info span{font-size:14px;color:var(--n-cocoa7)}
.nini-pop__info em{font-style:normal;font-size:13px;color:var(--n-muted);display:flex;gap:6px;align-items:center}
.nini-pop__price{font:700 18px "Be Vietnam Pro",sans-serif;color:var(--n-cocoa);white-space:nowrap}
.nini-pop__ship{display:grid;grid-template-columns:auto 1fr;gap:8px 8px;align-items:center;margin-bottom:22px;font:600 14px "Be Vietnam Pro",sans-serif;color:var(--n-cocoa)}
.nini-pop__ship svg{color:var(--n-husk)}
.nini-pop__ship i{grid-column:1/-1;height:8px;border-radius:4px;background:var(--n-line);overflow:hidden}
.nini-pop__ship i b{display:block;height:100%;background:var(--n-husk);border-radius:4px}
.nini-pop__acc-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.nini-pop__acc-h h3{margin:0;font:600 18px "Be Vietnam Pro",sans-serif;color:var(--n-cocoa)}
.nini-pop__acc-h a{font:600 14px "Be Vietnam Pro",sans-serif;color:var(--n-husk)}
.nini-pop__acc ul{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.nini-pop__acc li{display:grid;grid-template-columns:1fr auto;gap:6px 6px;align-items:center;border:1px solid var(--n-line);border-radius:18px;padding:10px 10px 12px}
.nini-pop__acc li img{grid-column:1/-1;width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:12px}
.nini-pop__acc li strong{grid-column:1/-1;font:600 14px/1.3 "Be Vietnam Pro",sans-serif;color:var(--n-cocoa)}
.nini-pop__acc li span{font-size:13px;color:var(--n-cocoa7)}
.nini-pop__add{width:34px;height:34px;border-radius:50%!important;border:0!important;padding:0!important;background:var(--n-corn)!important;color:var(--n-onp,#fff)!important;display:inline-flex;align-items:center;justify-content:center}
.nini-pop__add.is-added{background:var(--n-husk)!important;cursor:default}
.nini-pop__add:disabled:not(.is-added){opacity:.6}
.nini-pop__actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.nini-pop__btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 12px!important;border-radius:999px!important;font:600 15px "Be Vietnam Pro",sans-serif!important;text-decoration:none;cursor:pointer;border:0}
.nini-pop__btn.is-ghost{background:#fff!important;color:var(--n-cocoa)!important;box-shadow:inset 0 0 0 1.5px var(--n-cocoa)}
.nini-pop__btn.is-ghost:hover{background:var(--n-corn1)!important}
.nini-pop__btn.is-main{background:var(--n-cocoa)!important;color:#fff!important}
.nini-pop__btn.is-main:hover{background:var(--n-cocoa7)!important}
.nini-pop__sum{text-align:center;margin:14px 0 0;font-size:13px;color:var(--n-muted)}
@media (max-width:767px){
  .nini-pop{align-items:flex-end;padding:0}
  .nini-pop__box{width:100%;border-radius:28px 28px 0 0;padding:12px 20px calc(24px + env(safe-area-inset-bottom));max-height:88vh;transform:translateY(100%)}
  .nini-pop__box::before{content:"";display:block;width:44px;height:5px;border-radius:3px;background:var(--n-line);margin:0 auto 14px}
  .nini-pop__head h2{font:600 19px "Be Vietnam Pro",sans-serif}
  .nini-pop__item{padding:10px 14px 10px 10px}
  .nini-pop__item img{width:64px;height:64px}
  .nini-pop__info strong{font-size:16px}
  .nini-pop__price{font-size:16px}
  .nini-pop__acc ul{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
  .nini-pop__acc li{flex:0 0 128px;scroll-snap-align:start}
  .nini-pop__actions{grid-template-columns:1fr}
  .nini-pop__actions .is-main{order:-1}
  .nini-pop__actions [data-close]{order:2;background:none!important;box-shadow:none;color:var(--n-husk)!important;padding:8px!important}
}
@media (prefers-reduced-motion:reduce){.nini-pop__box,.nini-pop__overlay{transition:none}}
