
.fp-cd{ position:fixed; inset:0; z-index:20060; visibility:hidden; }
.fp-cd.is-open{ visibility:visible; }
.fp-cd__backdrop{ position:absolute; inset:0; background:rgba(6,7,12,.62); opacity:0; transition:opacity .28s ease; }
.fp-cd.is-open .fp-cd__backdrop{ opacity:1; }
.fp-cd__panel{ position:absolute; top:0; right:0; height:100%; width:374px; max-width:92vw;
  display:flex; flex-direction:column; overflow:hidden;
  background:linear-gradient(180deg,#252939 0%,#191b26 100%);
  border-left:1px solid rgba(255,255,255,.09);
  box-shadow:-26px 0 64px -22px rgba(0,0,0,.85);
  color:#eceef6; font-size:14px; line-height:1.4; text-align:left;
  transform:translateX(100%); transition:transform .34s cubic-bezier(.2,.85,.25,1); }
.fp-cd.is-open .fp-cd__panel{ transform:translateX(0); }
.fp-cd__close{ position:absolute; top:11px; right:11px; z-index:4; width:34px; height:34px; display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.12); border-radius:10px; background:rgba(255,255,255,.06); color:#cfd3e6; font-size:19px; cursor:pointer; transition:background .16s,color .16s; }
.fp-cd__close:hover{ background:rgba(255,255,255,.12); color:#fff; }
.fp-cd__close:focus-visible,.fp-cd a:focus-visible,.fp-cd button:focus-visible,.fp-cd input:focus-visible{ outline:2px solid rgba(56,189,248,.75); outline-offset:2px; }
.fp-cd__body{ flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }
.fp-cd__body::-webkit-scrollbar{ width:7px; }
.fp-cd__body::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.12); border-radius:7px; }
.fp-cd__body .fp-cartprev-list{ max-height:none !important; }
.fp-cd__body .fp-cartprev-head{ padding-right:56px; }
body.fp-cd-open{ overflow:hidden; }
body.fp-cd-open .fp-cookie-consent,body.fp-cd-open .fp-bottom-left-stack,body.fp-cd-open #fp-cur-hint,
body.fp-cd-open #chatbot-fab,body.fp-cd-open #chatbot-invite-bubble,body.fp-cd-open #fp-dz-fab{ visibility:hidden !important; }
@media (prefers-reduced-motion: reduce){
  .fp-cd__panel{ transition:none; }
  .fp-cd__backdrop{ transition:none; }
}
.fp-cd2{ display:flex; flex-direction:column; min-height:100%; }
.fp-cd2,.fp-cd2 *,.fp-cd2 *::before,.fp-cd2 *::after{ box-sizing:border-box; }
.fp-cd2.is-busy{ pointer-events:none; }
.fp-cd2.is-busy .fp-cd2-list,.fp-cd2.is-busy .fp-cd2-coupon,.fp-cd2.is-busy .fp-cd2-sum{ opacity:.55; transition:opacity .15s ease; }
.fp-cd2-anim .fp-cd2 > *{ animation:fpCd2In .42s cubic-bezier(.2,.85,.25,1) both; }
.fp-cd2-anim .fp-cd2 > *:nth-child(2){ animation-delay:.04s; }
.fp-cd2-anim .fp-cd2 > *:nth-child(3){ animation-delay:.08s; }
.fp-cd2-anim .fp-cd2 > *:nth-child(n+4){ animation-delay:.12s; }
@keyframes fpCd2In{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }

.fp-cd2-head{ position:sticky; top:0; z-index:2; display:flex; align-items:center; gap:11px; padding:14px 56px 13px 16px;
  background:#252939; border-bottom:1px solid rgba(255,255,255,.07); }
.fp-cd2-head b{ display:flex; align-items:center; gap:11px; min-width:0; font-size:15.5px; font-weight:800; letter-spacing:-.01em; color:#f5f6fa; }
.fp-cd2-hico{ width:34px; height:34px; flex:0 0 auto; border-radius:10px; display:grid; place-items:center; font-size:17px; color:#fff;
  background:linear-gradient(135deg,#22d3ee,#3b82f6); box-shadow:0 8px 18px -10px rgba(59,130,246,.9); }
.fp-cd2-count{ margin-left:auto; flex:0 0 auto; padding:0; border:0; background:none; color:#8b90ad;
  font-size:12px; font-weight:600; white-space:nowrap; font-variant-numeric:tabular-nums; }

.fp-cd2-list{ padding:2px 16px 0; display:flex; flex-direction:column; }
.fp-cd2-item{ position:relative; display:flex; gap:12px; padding:13px 0; border:0; border-radius:0; background:none; box-shadow:none;
  transition:background .15s ease; }
.fp-cd2-item + .fp-cd2-item{ border-top:1px solid rgba(255,255,255,.065); }
.fp-cd2-item:hover{ background:rgba(255,255,255,.028); box-shadow:0 0 0 8px rgba(255,255,255,.028); border-radius:4px; }
.fp-cd2-th{ flex:0 0 60px; width:60px; height:80px; align-self:flex-start; border-radius:10px; overflow:hidden; display:block; position:relative;
  background:radial-gradient(circle at 50% 35%,#1a1d2b,#0e0f18); border:1px solid rgba(255,255,255,.07); }
.fp-cd2-th img{ width:100%; height:100%; object-fit:cover; display:block; }
.fp-cd2-mono{ width:100%; height:100%; display:grid; place-items:center; background:linear-gradient(155deg,#1c2942,#0b1220 72%);
  color:rgba(226,236,250,.24); font-size:21px; font-weight:800; letter-spacing:.04em; -webkit-user-select:none; user-select:none; }
.fp-cd2-b{ flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; }
.fp-cd2-name{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; word-break:break-word;
  padding-right:30px; font-size:13.5px; font-weight:600; line-height:1.3; color:#e3e6f2; text-decoration:none; transition:color .15s ease; }
.fp-cd2-name:hover{ color:#fff; }
.fp-cd2-meta{ display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.fp-cd2-oid{ display:inline-flex; align-items:center; gap:5px; max-width:100%; padding:2px 9px; border-radius:20px;
  border:1px solid rgba(56,189,248,.28); background:rgba(56,189,248,.1); color:#8fd9fb; font-size:11px; font-weight:700;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fp-cd2-opt,.fp-cd2-tag{ display:inline-flex; align-items:center; gap:5px; max-width:100%; padding:2px 9px; border-radius:20px;
  border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.05); color:#b3b8d0; font-size:11px; font-weight:600;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fp-cd2-opt > i,.fp-cd2-tag > i{ font-size:12.5px; color:#9aa0bc; }
.fp-cd2-b > .fp-plat-line{ margin:0; padding-right:34px; font-size:11.5px; }
.fp-cd2-b > .fp-plat-line .fp-plat-line__ic{ font-size:13px; }
.fp-cd2-b > .fp-cart-opt-list{ margin:0; gap:2px; }
.fp-cd2-b > .fp-cart-opt-list .fp-cart-opt-list__item{ font-size:11.5px; line-height:1.35; }
.fp-cd2-unit{ font-size:11px; color:#82879f; white-space:nowrap; font-variant-numeric:tabular-nums; }
.fp-cd2-r2{ display:flex; flex-wrap:nowrap; align-items:flex-end; justify-content:space-between; gap:10px; margin-top:1px; }
.fp-cd2-qty{ flex:0 0 auto; display:inline-flex; align-items:center; gap:2px; border:0; border-radius:0;
  background:none; overflow:visible; }
.fp-cd2-qbtn{ width:26px; height:26px; display:grid; place-items:center; padding:0; border:0; border-radius:7px;
  background:rgba(255,255,255,.05); color:#b9bed4; font-size:14px; line-height:1; cursor:pointer;
  transition:background .15s ease,color .15s ease; }
.fp-cd2-qbtn:hover{ background:rgba(56,189,248,.2); color:#fff; }
.fp-cd2-qbtn:active{ background:rgba(56,189,248,.32); }
.fp-cd2-qbtn[disabled]{ opacity:.3; cursor:not-allowed; }
.fp-cd2-qbtn[disabled]:hover{ background:rgba(255,255,255,.05); color:#b9bed4; }
.fp-cd2-qinput{ width:26px; height:26px; text-align:center; background:transparent; border:0;
  color:#e3e6f2; font-size:12.5px; font-weight:700; font-variant-numeric:tabular-nums; -moz-appearance:textfield; }
.fp-cd2-qinput:focus{ outline:none; background:rgba(56,189,248,.12); border-radius:7px; }
.fp-cd2-qinput::-webkit-outer-spin-button,.fp-cd2-qinput::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.fp-cd2-prices{ display:flex; flex-direction:column; align-items:flex-end; gap:2px; margin-left:auto; min-width:0; }
.fp-cd2-oldprice{ font-size:11px; color:#82879f; text-decoration:line-through; white-space:nowrap; font-variant-numeric:tabular-nums; }
.fp-cd2-price{ font-size:15px; font-weight:800; letter-spacing:-.01em; color:#f1f3fb; white-space:nowrap; font-variant-numeric:tabular-nums; }
.fp-cd2-del{ position:absolute; top:11px; right:-4px; width:30px; height:30px; display:grid; place-items:center; padding:0;
  border:0; border-radius:8px; background:transparent; color:#7a7f9b; cursor:pointer; font-size:16px;
  opacity:.75; transition:background .15s ease,color .15s ease,opacity .15s ease; }
.fp-cd2-item:hover .fp-cd2-del{ opacity:1; }
.fp-cd2-del:hover{ background:rgba(239,68,68,.14); color:#f87171; opacity:1; }

.fp-cd2-reco{ position:relative; margin:2px 0 0; padding:14px 0 14px; border-top:1px solid rgba(255,255,255,.065);
  border-bottom:1px solid rgba(255,255,255,.065); }
.fp-cd2-reco-head{ display:flex; align-items:center; gap:8px; margin:0 16px 10px; }
.fp-cd2-reco-head > h6{ margin:0; min-width:0; display:flex; align-items:center; gap:7px; font-size:10.5px; font-weight:700;
  letter-spacing:.09em; text-transform:uppercase; color:#8b90ad; }
.fp-cd2-reco-head > h6 > i{ flex:0 0 auto; font-size:14px; color:#7dd3fc; }
.fp-cd2-reco-nav{ position:absolute; left:0; right:0; top:36px; bottom:14px; margin:0; display:flex; align-items:center;
  justify-content:space-between; padding:0 4px; pointer-events:none; z-index:2; }
.fp-cd2-reco-nav[hidden]{ display:none !important; }
.fp-cd2-reco-btn{ pointer-events:auto; width:30px; height:30px; padding:0; display:grid; place-items:center; border-radius:50%;
  border:1px solid rgba(255,255,255,.14); background:rgba(18,20,30,.86); color:#dfe3f2; font-size:17px; line-height:1;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  box-shadow:0 6px 16px -8px rgba(0,0,0,.9); cursor:pointer; transition:background .15s ease,color .15s ease,border-color .15s ease; }
.fp-cd2-reco-btn:hover{ background:#1f2331; border-color:rgba(56,189,248,.4); color:#fff; }
.fp-cd2-reco-btn[disabled]{ opacity:0; cursor:default; pointer-events:none; }
.fp-cd2-reco-row{ display:flex; gap:10px; padding:0 16px 2px; overflow-x:auto; scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain;
  scrollbar-width:none; -ms-overflow-style:none;
  scroll-padding-left:16px; scroll-padding-right:16px; }
.fp-cd2-reco-row:focus-visible{ outline:2px solid #38bdf8; outline-offset:2px; border-radius:12px; }
.fp-cd2-reco-row::-webkit-scrollbar{ height:0; width:0; }
.fp-cd2-reco:not(.is-end) .fp-cd2-reco-row{
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent);
          mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent); }
.fp-cd2-rc{ flex:0 0 224px; width:224px; height:80px; scroll-snap-align:start;
  display:grid; grid-template-columns:44px minmax(0,1fr) auto; grid-template-rows:1fr auto; gap:4px 10px;
  padding:8px; border:1px solid rgba(255,255,255,.07); border-radius:12px; background:rgba(255,255,255,.035);
  transition:border-color .15s ease,background .15s ease; }
.fp-cd2-rc:hover{ border-color:rgba(56,189,248,.26); background:rgba(56,189,248,.05); }
.fp-cd2-rc-th{ grid-column:1; grid-row:1 / 3; display:block; width:44px; height:58px; align-self:center; border-radius:8px; overflow:hidden;
  background:radial-gradient(circle at 50% 35%,#1a1d2b,#0e0f18); border:1px solid rgba(255,255,255,.07); }
.fp-cd2-rc-th img{ width:100%; height:100%; object-fit:cover; display:block; }
.fp-cd2-rc-th .fp-cd2-mono{ font-size:15px; }
.fp-cd2-rc-name{ grid-column:2 / 4; grid-row:1; align-self:start; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; font-size:11.5px; font-weight:600; line-height:1.28; color:#d8dcec; text-decoration:none !important; }
.fp-cd2-rc-name:hover{ color:#fff; }
.fp-cd2-rc-price{ grid-column:2; grid-row:2; align-self:end; font-size:12.5px; font-weight:800; color:#f1f3fb;
  font-variant-numeric:tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fp-cd2-rc-add{ grid-column:3; grid-row:2; align-self:end; display:inline-flex; align-items:center; justify-content:center; gap:4px;
  height:28px; padding:0 10px; border-radius:8px; font-size:11.5px; font-weight:800; white-space:nowrap;
  text-decoration:none !important; cursor:pointer; color:#06121e !important; background:#38bdf8; transition:filter .15s ease; }
.fp-cd2-rc-add:hover{ filter:brightness(1.08); }
.fp-cd2-rc-add > i{ font-size:14px; }
.fp-cd2-rc-add--ghost{ color:#cfd6ea !important; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); }
.fp-cd2-rc-add--ghost:hover{ background:rgba(255,255,255,.13); color:#fff !important; }

.fp-cd2-coupon{ margin:12px 16px 0; }
.fp-cd2-cpn{ border:0; }
.fp-cd2-cpn > summary{ display:flex; align-items:center; gap:8px; padding:8px 0; cursor:pointer; list-style:none;
  font-size:12.5px; font-weight:600; color:#a3a8c2; transition:color .15s ease; }
.fp-cd2-cpn > summary::-webkit-details-marker{ display:none; }
.fp-cd2-cpn > summary:hover{ color:#e3e6f2; }
.fp-cd2-cpn > summary > i{ font-size:15px; color:#7dd3fc; flex:0 0 auto; }
.fp-cd2-cpn > summary::after{ content:""; flex:0 0 auto; width:7px; height:7px; margin-left:auto;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg) translate(-2px,-2px); transition:transform .18s ease; }
.fp-cd2-cpn[open] > summary::after{ transform:rotate(-135deg) translate(-2px,-2px); }
.fp-cd2-coupon-form{ display:flex; gap:8px; margin:2px 0 4px; }
.fp-cd2-coupon-wrap{ position:relative; flex:1; min-width:0; }
.fp-cd2-coupon-wrap > i{ position:absolute; left:12px; top:50%; transform:translateY(-50%); font-size:15px; color:#82879f; pointer-events:none; }
.fp-cd2-coupon-input{ width:100%; height:40px; margin:0; padding:0 12px 0 36px; border-radius:10px; border:1px solid rgba(255,255,255,.11);
  background:#101119; color:#eceef7; font-size:13px; outline:none; box-shadow:none; transition:border-color .15s ease,box-shadow .15s ease; }
.fp-cd2-coupon-input::placeholder{ color:#767a99; }
.fp-cd2-coupon-input:focus{ border-color:rgba(56,189,248,.55); box-shadow:0 0 0 3px rgba(56,189,248,.12); }
.fp-cd2-coupon-apply{ flex:0 0 auto; height:40px; padding:0 16px; border-radius:10px; font-weight:800; font-size:12.5px;
  color:#dfe6f5; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease; }
.fp-cd2-coupon-apply:hover{ background:rgba(56,189,248,.18); border-color:rgba(56,189,248,.4); color:#fff; }
.fp-cd2-coupon-on{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 0; border:0; background:none; }
.fp-cd2-coupon-code{ display:inline-flex; align-items:center; gap:7px; min-width:0; font-size:12.5px; font-weight:800; letter-spacing:.02em;
  color:#6ee7b7; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fp-cd2-coupon-code > i{ font-size:15px; }
.fp-cd2-coupon-remove{ flex:0 0 auto; padding:0; border:0; background:none; color:#8b90ad; font-size:11.5px; font-weight:700;
  text-decoration:underline; text-underline-offset:2px; cursor:pointer; transition:color .15s ease; }
.fp-cd2-coupon-remove:hover{ color:#fca5a5; }
.fp-cd2-coupon-err{ display:flex; align-items:flex-start; gap:8px; margin-top:6px; padding:9px 11px; border-radius:10px;
  border:1px solid rgba(239,68,68,.3); background:rgba(239,68,68,.09); color:#fca5a5; font-size:11.5px; line-height:1.45; }
.fp-cd2-coupon-err[hidden]{ display:none !important; }
.fp-cd2-coupon-err::before{ content:"!"; flex:0 0 auto; width:15px; height:15px; margin-top:1px; border-radius:50%;
  display:grid; place-items:center; background:rgba(239,68,68,.3); color:#fee2e2; font-size:10px; font-weight:800; line-height:1; }
.fp-cd2-coupon-guest,.fp-cd2-hint{ display:flex; align-items:center; gap:9px; margin:0; padding:10px 0; border:0; background:none;
  font-size:12px; line-height:1.4; color:#a3a8c2; }
.fp-cd2-coupon-guest > i,.fp-cd2-hint > i{ flex:0 0 auto; font-size:16px; color:#7dd3fc; }
.fp-cd2-coupon-guest > span,.fp-cd2-hint > span{ min-width:0; }
.fp-cd2-coupon-guest a,.fp-cd2-hint a{ margin-left:auto; flex:0 0 auto; padding:0; background:none; border:0;
  color:#7dd3fc !important; font-size:12px; font-weight:800; white-space:nowrap; text-decoration:none !important; }
.fp-cd2-coupon-guest a:hover,.fp-cd2-hint a:hover{ color:#fff !important; text-decoration:underline !important; }

.fp-cd2-sum{ margin:0 16px; padding:12px 0 26px; border-top:1px solid rgba(255,255,255,.075);
  border-radius:0; background:none; display:flex; flex-direction:column; gap:8px; }
.fp-cd2-sum-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12.5px; color:#9aa0bc; }
.fp-cd2-sum-row > span{ display:inline-flex; align-items:center; gap:6px; min-width:0; }
.fp-cd2-sum-row b{ flex:0 0 auto; color:#e3e6f2; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.fp-cd2-sum-row--disc b{ color:#6ee7b7; }
.fp-cd2-sum-row--pay{ margin-top:2px; padding-top:11px; border-top:1px solid rgba(255,255,255,.09); align-items:baseline; }
.fp-cd2-sum-row--pay:first-child{ margin-top:0; padding-top:0; border-top:0; }
.fp-cd2-sum-row--pay > span{ font-size:13px; font-weight:600; color:#e3e6f2; }
.fp-cd2-sum-row--pay b{ font-size:22px; font-weight:800; letter-spacing:-.02em; color:#fff; }
.fp-cd2-bal{ margin-top:2px; padding-top:10px; border-top:1px dashed rgba(255,255,255,.09); }
.fp-cd2-bal-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12.5px; color:#9aa0bc; }
.fp-cd2-bal-top b{ color:#8fd9fb; font-weight:700; font-variant-numeric:tabular-nums; }
.fp-cd2-bar{ margin-top:8px; height:6px; border-radius:6px; background:rgba(255,255,255,.08); overflow:hidden; }
.fp-cd2-bar > i{ display:block; height:100%; border-radius:6px; background:linear-gradient(90deg,#22d3ee,#3b82f6); transition:width .35s ease; }
.fp-cd2-bal-note{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:10px; padding:9px 11px; border-radius:10px;
  border:1px solid rgba(251,191,36,.26); background:rgba(251,191,36,.09); color:#fcd34d; font-size:11.5px; line-height:1.45; }
.fp-cd2-bal-note > i{ font-size:15px; flex:0 0 auto; }
.fp-cd2-bal-note > span{ min-width:0; }
.fp-cd2-bal-note b{ font-variant-numeric:tabular-nums; }
.fp-cd2-bal-note--ok{ margin-top:9px; padding:0; border:0; background:none; color:#6ee7b7; font-size:12px; font-weight:600; }
.fp-cd2-bal-note--ok > i{ font-size:15px; }
.fp-cd2-bal-link{ margin-left:auto; flex:0 0 auto; display:inline-flex; align-items:center; gap:4px; padding:5px 11px; border-radius:20px;
  border:1px solid rgba(251,191,36,.4); background:rgba(251,191,36,.14); color:#fde68a !important; font-size:11px; font-weight:800;
  text-decoration:none !important; white-space:nowrap; transition:background .15s ease,color .15s ease; }
.fp-cd2-bal-link:hover{ background:rgba(251,191,36,.24); color:#fff !important; }
.fp-cd2-approx{ margin-top:8px; font-size:10.5px; line-height:1.5; color:#82879f; }

.fp-cd2-foot{ position:sticky; bottom:0; z-index:2; margin-top:auto; padding:12px 16px 16px; background:#191b26;
  border-top:1px solid rgba(255,255,255,.075); box-shadow:0 -16px 30px -22px rgba(0,0,0,.95); }
.fp-cd2-foot::before{ content:""; position:absolute; left:0; right:0; top:-26px; height:26px; pointer-events:none;
  background:linear-gradient(180deg,rgba(25,27,38,0),#191b26); }
.fp-cd2-terms{ display:flex; gap:9px; align-items:flex-start; margin:0 0 11px; padding:0; border:0; border-radius:10px; background:none;
  font-size:11.5px; line-height:1.45; color:#9aa0bc; cursor:pointer; transition:background .15s ease,color .15s ease; }
.fp-cd2-terms:hover{ color:#c3c8dc; }
.fp-cd2-terms input{ margin:1px 0 0; width:17px; height:17px; accent-color:#22c55e; flex:0 0 auto; cursor:pointer; }
.fp-cd2-terms a{ color:#8fd9fb; }
.fp-cd2-terms--err{ padding:9px 11px; margin-left:-11px; margin-right:-11px; border:1px solid rgba(239,68,68,.55);
  background:rgba(239,68,68,.1); color:#fca5a5; animation:fpCd2Shake .3s ease; }
.fp-cd2-terms--err a{ color:#fecaca; }
@keyframes fpCd2Shake{ 0%,100%{ transform:translateX(0); } 25%{ transform:translateX(-4px); } 75%{ transform:translateX(4px); } }
.fp-cd2-actions{ padding:0; display:flex; flex-direction:column; gap:2px; }
.fp-cd2-btn{ display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:50px; padding:0 16px; border-radius:12px;
  white-space:nowrap; font-size:14px; font-weight:800; letter-spacing:-.01em; text-decoration:none !important; text-align:center; border:0;
  cursor:pointer; transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease; }
.fp-cd2-btn--pri{ width:100%; color:#fff !important; background:linear-gradient(135deg,#0b74c4,#1d4ed8);
  box-shadow:0 14px 28px -14px rgba(29,78,216,.95); }
.fp-cd2-btn--pri:hover{ transform:translateY(-1px); box-shadow:0 18px 32px -14px rgba(37,99,235,1); }
.fp-cd2-btn--complete{ background:linear-gradient(135deg,#0d7c3c,#0b6e35) !important; box-shadow:0 14px 28px -14px rgba(13,124,60,.95) !important; }
.fp-cd2-btn--complete:hover{ box-shadow:0 18px 32px -14px rgba(34,197,94,1) !important; }
.fp-cd2-btn--sec{ width:100%; min-height:38px; padding:0; border:0; background:none; box-shadow:none;
  color:#8b90ad !important; font-size:12.5px; font-weight:700; }
.fp-cd2-btn--sec:hover{ background:none; color:#dfe3f2 !important; transform:none; box-shadow:none; text-decoration:underline !important; }
.fp-cd2-btn[disabled]{ opacity:.6; pointer-events:none; }

.fp-cd2-empty{ flex:0 0 auto; padding:52px 24px 44px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; text-align:center; }
.fp-cd2-empty > i{ width:68px; height:68px; margin-bottom:8px; display:grid; place-items:center; border-radius:20px; font-size:30px; color:#7dd3fc;
  background:radial-gradient(circle at 30% 25%,rgba(56,189,248,.24),rgba(56,189,248,.05)); border:1px solid rgba(56,189,248,.18); }
.fp-cd2-empty > span{ font-size:16px; font-weight:800; color:#f1f2f8; }
.fp-cd2-empty small{ font-size:12.5px; color:#9aa0bc; }
.fp-cd2-empty .fp-cd2-btn{ width:auto; margin-top:16px; flex:0 0 auto; padding:0 26px; }

.fp-cd2-sk-wrap{ padding:14px 16px; display:flex; flex-direction:column; gap:0; }
.fp-cd2-sk-item{ display:flex; gap:12px; padding:13px 0; border:0; border-radius:0; background:none; }
.fp-cd2-sk-item + .fp-cd2-sk-item{ border-top:1px solid rgba(255,255,255,.05); }
.fp-cd2-sk-b{ flex:1; display:flex; flex-direction:column; gap:9px; justify-content:center; }
.fp-cd2-sk{ display:block; border-radius:7px; background:linear-gradient(90deg,rgba(255,255,255,.05) 25%,rgba(255,255,255,.11) 37%,rgba(255,255,255,.05) 63%);
  background-size:400% 100%; animation:fpCd2Sk 1.3s ease-in-out infinite; }
.fp-cd2-sk--th{ flex:0 0 60px; width:60px; height:80px; align-self:flex-start; border-radius:10px; }
.fp-cd2-sk--l1{ height:12px; width:78%; }
.fp-cd2-sk--l2{ height:12px; width:46%; }
.fp-cd2-sk--sum{ height:104px; border-radius:10px; margin:14px 0 0; }
@keyframes fpCd2Sk{ 0%{ background-position:100% 50%; } 100%{ background-position:0 50%; } }
.fp-cd2-loading{ display:grid; place-items:center; padding:70px 0; color:#7fb4ff; font-size:30px; }
.fp-cd2-spin{ display:inline-block; animation:fpCd2Spin 1s linear infinite; }
@keyframes fpCd2Spin{ to{ transform:rotate(360deg); } }

@media (pointer:coarse){
  .fp-cd2-qbtn{ width:38px; height:38px; font-size:17px; border-radius:9px; }
  .fp-cd2-qinput{ height:38px; width:34px; font-size:13.5px; }
  .fp-cd2-del{ width:38px; height:38px; top:7px; right:-7px; font-size:17px; opacity:1; }
  .fp-cd2-name{ padding-right:34px; }
  .fp-cd2-reco-btn{ width:34px; height:34px; }
  .fp-cd2-cpn > summary{ padding:11px 0; }
}
@media (max-width:400px){
  .fp-cd2-head{ padding-left:14px; }
  .fp-cd2-list{ padding-left:14px; padding-right:14px; }
  .fp-cd2-th{ flex-basis:56px; width:56px; height:75px; }
  .fp-cd2-sk-wrap{ padding-left:14px; padding-right:14px; }
  .fp-cd2-sk--th{ flex-basis:56px; width:56px; height:75px; }
  .fp-cd2-coupon,.fp-cd2-sum{ margin-left:14px; margin-right:14px; }
  .fp-cd2-foot{ padding-left:14px; padding-right:14px; }
  .fp-cd2-sum-row--pay b{ font-size:20px; }
  .fp-cd2-btn{ min-height:48px; font-size:13.5px; padding:0 14px; }
  .fp-cd2-reco-head{ margin-left:14px; margin-right:14px; }
  .fp-cd2-reco-row{ padding-left:14px; padding-right:14px; scroll-padding-left:14px; scroll-padding-right:14px; }
  .fp-cd2-rc{ flex-basis:206px; width:206px; }
  .fp-cd2-terms--err{ margin-left:-9px; margin-right:-9px; padding:9px; }
}
@media (prefers-reduced-motion: reduce){
  .fp-cd2-anim .fp-cd2 > *,.fp-cd2-sk,.fp-cd2-terms--err{ animation:none; }
  .fp-cd2-btn,.fp-cd2-bar > i,.fp-cd2-item,.fp-cd2-name,.fp-cd2-cpn > summary::after{ transition:none; }
}

.fp-cd__panel{
  --dw-gut:16px;
  --dw-band:#12141d;
  --dw-ink:#f5f6fa;
  --dw-ink2:#e3e6f2;
  --dw-mut:#9aa0bc;
  --dw-mut2:#a0a5c4;
  --dw-line:rgba(255,255,255,.065);
  --dw-cyan:#7dd3fc;
  --dw-cyan-b:rgba(56,189,248,.38);
  --dw-r-chip:10px;
  --dw-r-card:12px;
  --dw-r-pill:20px;
}

.fp-cd2-head{ z-index:3; }

.fp-cd2-item:hover{ background:rgba(255,255,255,.028);
  box-shadow:8px 0 0 rgba(255,255,255,.028), -8px 0 0 rgba(255,255,255,.028);
  border-radius:0; }

.fp-cd2-del{ top:9px; right:-11px; width:40px; height:40px; border-radius:var(--dw-r-chip);
  color:var(--dw-mut); opacity:1; font-size:17px; }
.fp-cd2-item:hover .fp-cd2-del{ opacity:1; }
.fp-cd2-del:hover{ background:rgba(239,68,68,.14); color:#f87171; opacity:1; }

.fp-cd2-name{ padding-right:34px; color:var(--dw-ink2); }
.fp-cd2-meta{ padding-right:34px; }

.fp-cd2-unit,.fp-cd2-oldprice{ color:var(--dw-mut); }
.fp-cd2-price{ max-width:100%; overflow:hidden; text-overflow:ellipsis; }
.fp-cd2-mono{ color:rgba(226,236,250,.44); }
.fp-cd2-qinput{ width:30px; padding:0 2px; }



.fp-cd2-coupon-input::placeholder{ color:#8e93b0; }
.fp-cd2-coupon-remove{ position:relative; color:var(--dw-mut); }
.fp-cd2-coupon-remove::after{ content:""; position:absolute; inset:-15px -10px; }
.fp-cd2-coupon-err[hidden]{ display:none !important; }

.fp-cd2-sum{ margin:0 var(--dw-gut); padding:12px 0 28px; }
.fp-cd2-sum-row--pay{ margin-top:0; padding-top:0; border-top:0; }
.fp-cd2-sum-row--pay > span{ font-size:12.5px; font-weight:600; color:var(--dw-mut); }
.fp-cd2-sum-row--pay b{ font-size:15px; color:var(--dw-ink2); }
.fp-cd2-bal{ border-top:1px solid rgba(255,255,255,.075); }
.fp-cd2-bal:first-child{ margin-top:0; padding-top:0; border-top:0; }
.fp-cd2-approx{ font-size:11px; color:#8e93b0; }

.fp-cd2-foot{ padding:12px var(--dw-gut) 15px; background:var(--dw-band);
  border-top:1px solid rgba(255,255,255,.09);
  box-shadow:0 -18px 34px -24px rgba(0,0,0,.95); }
.fp-cd2-foot::before{ top:-28px; height:28px;
  background:linear-gradient(180deg,rgba(18,20,29,0),#12141d); }
.fp-cd2-payline{ display:flex; align-items:baseline; justify-content:space-between;
  gap:12px; margin:0 0 10px; }
.fp-cd2-payline > span{ min-width:0; font-size:11px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:var(--dw-mut2); }
.fp-cd2-payline > b{ flex:0 0 auto; font-size:20px; font-weight:800;
  letter-spacing:-.02em; line-height:1.15; color:#fff; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; font-variant-numeric:tabular-nums; }
.fp-cd2-payline[hidden]{ display:none !important; }
.fp-cd2-terms{ margin:0 0 11px; color:var(--dw-mut); }
.fp-cd2-terms input{ width:18px; height:18px; }
.fp-cd2-btn--pri{ box-shadow:0 0 0 1px rgba(125,211,252,.55),
  0 14px 30px -14px rgba(29,78,216,.95); }
.fp-cd2-btn--pri:hover{ box-shadow:0 0 0 1px rgba(125,211,252,.85),
  0 18px 34px -14px rgba(37,99,235,1); }
.fp-cd2-btn--complete{ background:linear-gradient(135deg,#0d7c3c,#0b6e35) !important;
  box-shadow:0 0 0 1px rgba(110,231,183,.55),
  0 14px 30px -14px rgba(11,110,53,.95) !important; }
.fp-cd2-btn--complete:hover{
  box-shadow:0 0 0 1px rgba(110,231,183,.85),
  0 18px 34px -14px rgba(11,110,53,1) !important; }
.fp-cd2-btn--sec{ color:var(--dw-mut) !important; }
.fp-cd2-btn--sec:hover{ color:var(--dw-ink2) !important; }

.fp-cd2.is-busy .fp-cd2-reco,.fp-cd2.is-busy .fp-cd2-foot{ opacity:.55;
  transition:opacity .15s ease; }

.fp-cd2-sk-wrap{ padding:2px var(--dw-gut) 0; }
.fp-cd2-sk--sum{ height:96px; margin:16px 0 0; }
.fp-cd2-sk--foot{ height:50px; border-radius:var(--dw-r-card); margin:14px 0 0; }

.fp-cd2-hint,.fp-cd2-loading,.fp-cd2-spin{ display:none !important; }

.fp-cd2 [hidden]{ display:none !important; }

@media (pointer:coarse){
  .fp-cd2-del{ width:44px; height:44px; top:5px; right:-13px; font-size:18px; opacity:1; }
  .fp-cd2-name,.fp-cd2-meta{ padding-right:38px; }
  .fp-cd2-qinput{ width:38px; }
  .fp-cd2-cpn > summary{ min-height:44px; padding:0; }
  .fp-cd2-btn--sec{ min-height:44px; }
}
@media (max-width:400px){
  .fp-cd__panel{ --dw-gut:14px; }
  .fp-cd2-payline > b{ font-size:19px; }
  .fp-cd2-btn:not(.fp-cd2-btn--sec){ min-height:48px; font-size:13.5px; padding:0 14px; }
  .fp-cd2-btn--sec{ min-height:38px; font-size:12.5px; padding:0; }
  .fp-cd2-sk-wrap{ padding-left:14px; padding-right:14px; }
}
@media (max-width:400px) and (pointer:coarse){
  .fp-cd2-btn--sec{ min-height:44px; }
}
@media (prefers-reduced-motion: reduce){
  .fp-cd2-rc-add,.fp-cd2-del,.fp-cd2-coupon-remove,.fp-cd2-reco-btn{ transition:none; }
}


.fp-cd2-list{ padding:8px 8px 2px; gap:8px; }

.fp-cd2-item{ padding:10px 11px; border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.048),rgba(255,255,255,.016));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 1px 2px rgba(0,0,0,.32);
  transition:background-color .15s ease, box-shadow .15s ease; }
.fp-cd2-item + .fp-cd2-item{ border-top:0; }
.fp-cd2-item:hover{ border-radius:14px;
  background:linear-gradient(180deg,rgba(56,189,248,.1),rgba(56,189,248,.03));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09), 0 8px 20px -12px rgba(0,0,0,.85); }

.fp-cd2-th{ border-radius:12px;
  box-shadow:0 6px 16px -10px rgba(0,0,0,.95), inset 0 0 0 1px rgba(255,255,255,.06); }

.fp-cd2-del{ top:6px; right:2px; }

.fp-cd2-price{ font-size:15.5px; }

@media (max-width:400px){
  .fp-cd2-list{ padding:6px 8px 2px; gap:7px; }
  .fp-cd2-item{ padding:10px; border-radius:12px; }
  .fp-cd2-del{ top:5px; right:1px; }
}

@media (pointer:coarse){
  .fp-cd2-del{ width:44px; height:44px; top:0; right:0; font-size:18px; opacity:1; }
}

.fp-cd2-btn--pri,.fp-cd2-btn--complete{ position:relative; isolation:isolate; overflow:hidden; border:0;
  min-height:54px; border-radius:999px; color:#04111c !important; font-weight:800;
  background:linear-gradient(100deg,#4ade80 0%,#22d3ee 55%,#60a5fa 100%) !important;
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.12), 0 14px 30px -16px rgba(34,211,238,.75) !important; }
.fp-cd2-btn--pri::before{ content:""; position:absolute; z-index:-1; left:0; right:0; top:0; height:50%;
  pointer-events:none; background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,0)); }
.fp-cd2-btn--pri:hover,.fp-cd2-btn--complete:hover{ transform:translateY(-1px); filter:saturate(1.08) brightness(1.03);
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.12), 0 18px 34px -16px rgba(34,211,238,.95) !important; }
.fp-cd2-btn--pri:active{ transform:translateY(0) scale(.995); filter:none; }
.fp-cd .fp-cd2-btn--pri:focus-visible{ outline:2px solid #e0f2fe; outline-offset:3px; }
.fp-cd2-btn--sec{ min-height:36px; }

.fp-cd2-btn--complete.is-busy{ opacity:1; cursor:progress; filter:none; transform:none; }
.fp-cd2-busy-ic{ display:inline-block; animation:fpCd2BusySpin .8s linear infinite; }
@keyframes fpCd2BusySpin{ to{ transform:rotate(360deg); } }

.fp-cd2-terms{ align-items:flex-start; line-height:1.45; }
.fp-cd2-terms input{ -webkit-appearance:none; appearance:none; width:20px; height:20px; margin:0; flex:0 0 auto;
  border-radius:6px; border:1.5px solid rgba(255,255,255,.3); background:#10131c; cursor:pointer; }
.fp-cd2-terms input:checked{ border-color:transparent; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%2304111c' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat, linear-gradient(135deg,#4ade80,#22d3ee); }
.fp-cd2-terms input:focus-visible{ outline:2px solid #7dd3fc; outline-offset:2px; }
.fp-cd2-terms--err input{ border-color:rgba(248,113,113,.9); background:rgba(239,68,68,.12); }

.fp-cd2-list{ gap:6px; }
.fp-cd2-item{ padding:9px 10px; gap:11px; }
.fp-cd2-th{ flex:0 0 51px; width:51px; height:68px; border-radius:10px; }
.fp-cd2-name{ font-size:13px; }
.fp-cd2-price{ font-size:15px; }

.fp-cd2-count{ padding:4px 10px; border-radius:999px; background:rgba(255,255,255,.07);
  color:#e3e6f2; font-weight:800; font-size:11.5px; }

.fp-cd2-coupon-on{ margin:4px 0; padding:9px 12px; border-radius:999px; background:rgba(16,185,129,.12);
  box-shadow:inset 0 0 0 1px rgba(110,231,183,.3); }

.fp-cd2-sum-row{ font-size:13px; }
.fp-cd2-sum-row b{ font-size:13.5px; }
.fp-cd2-bal-note--ok{ border-radius:999px; padding:7px 12px; }

.fp-cd2-foot{ padding-top:14px; }
.fp-cd2-payline > span{ font-size:11.5px; }
.fp-cd2-payline > b{ font-size:22px; }

@media (max-width:400px){
  .fp-cd2-btn--pri,.fp-cd2-btn--complete{ min-height:50px; }
  .fp-cd2-payline > b{ font-size:20px; }
}
@media (prefers-reduced-motion: reduce){
  .fp-cd2-busy-ic{ animation:none; }
  .fp-cd2-btn--pri:hover,.fp-cd2-btn--complete:hover{ transform:none; }
}
