/* koszyk + checkout + cookies + toast */
.cart-veil{position:fixed;inset:0;z-index:80;background:rgba(31,33,34,.5)}
.cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 90;
  width: 100%;
  max-width: 46rem;
  overflow-y: auto;
  background: var(--beige);
  box-shadow: 0px 24px 48px -12px rgba(0, 0, 0, 0.18);
}
.cart-drawer__top{display:flex;align-items:center;justify-content:space-between;padding:2rem 2.4rem;background:var(--slate);color:#fff}
.cart-drawer__h { font-size: 2rem; font-weight: 500; }
.cart-drawer__x{position:relative;width:3.2rem;height:3.2rem}
.cart-drawer__x::before, .cart-drawer__x::after { content: ""; position: absolute; left: .6rem; right: .6rem; top: 1.5rem; height: 2px; background: #fff; transform: rotate(45deg); }
.cart-drawer__x::after{transform:rotate(-45deg)}
.cart-stage { padding: 2rem 2.4rem 3rem; }
.cart-empty{padding:3rem 0;text-align:center;opacity:.7}
.cart-list { margin: 0; }
.cart-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: .6rem 1.2rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid rgba(53,62,68,.15);
}
.cart-row__name{font-size:1.5rem;font-weight:500;line-height:1.35}
.cart-row__name small { display: block; font-weight: 400; font-size: 1.25rem; opacity: .75; }
.cart-row__price{font-weight:700;white-space:nowrap}
.cart-row__qty { display: flex; align-items: center; gap: .4rem; }
.cart-row__qty button{width:3rem;height:3rem;border:1px solid #b7b7b7;border-radius:.4rem;background:#fff;font-size:1.6rem;line-height:1}
.cart-row__qty button:disabled { opacity: .3; cursor: default; }
.cart-row__qty span{min-width:3.4rem;text-align:center;font-weight:500}
.cart-row__del { justify-self: end; font-size: 1.3rem; text-decoration: underline; opacity: .8; }
.cart-sum{margin-top:1.8rem}
.cart-sum__row { display: flex; justify-content: space-between; font-size: 1.7rem; }
.cart-sum__row b{font-size:2.2rem}
.cart-sum__note { margin: .4rem 0 1.8rem; font-size: 1.3rem; opacity: .8; }
.cart-sum .cta,.checkout .cta{width:100%}

.checkout{display:flex;flex-wrap:wrap;gap:1.2rem}
.checkout__back { font-size: 1.3rem; text-decoration: underline; opacity: .8; }
.ch-f{flex:1 1 100%;min-width:0}
.ch-f--half { flex: 1 1 calc(50% - .6rem); }
.ch-f label{display:block;margin-bottom:.3rem;font-size:1.3rem;font-weight:500}
.ch-f label small { font-weight: 400; opacity: .7; }
.ch-f input,.ch-f select,.ch-f textarea {
  width: 100%;
  padding: 1rem 1.1rem;
  border: 1px solid #b7b7b7;
  background: #fff;
  font: inherit;
  font-size: 1.5rem;
  color: var(--slate);
}
.ch-f.is-err input, .ch-f.is-err select { border-color: var(--red); }
.ch-err{display:block;font-size:1.25rem;color:var(--red)}
.ch-adr { display: flex; flex-wrap: wrap; gap: 1.2rem; flex: 1 1 100%; }
.checkout__sum{flex:1 1 100%;padding:1.4rem 1.6rem;border-radius:var(--radius-md);background:#fff}
.checkout__sum p { display: flex; justify-content: space-between; font-size: 1.45rem; padding: .2rem 0; }
.checkout .checkout__total{margin-top:.6rem;padding-top:.8rem;border-top:1px solid #e8e8e8;font-size:1.7rem}
.checkout__total b { font-size: 2.1rem; }
.checkout__pay{flex:1 1 100%;font-size:1.3rem;opacity:.8}
.order-done p { margin-top: .6rem; font-size: 1.5rem; }

.toast-msg{pointer-events:none;position:fixed;left:50%;bottom:2.4rem;z-index:120;max-width:calc(100% - 4rem);padding:1.2rem 2rem;border-radius:var(--radius-md);background:var(--slate);color:#fff;font-size:1.45rem;transform:translateX(-50%);box-shadow:0px 20px 24px -4px rgba(0, 0, 0, 0.08)}

.cookie-popup {
  position: fixed;
  left: 1.2rem;
  right: 1.2rem;
  bottom: 1.2rem;
  z-index: 110;
  max-width: 48rem;
  padding: 2.4rem;
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: 0px 24px 48px -12px rgba(0, 0, 0, 0.18);
}
.cookie-popup__h{font-size:2rem;font-weight:500}
.cookie-popup__p { margin: .8rem 0 1.6rem; font-size: 1.4rem; }
.cookie-popup__p a{color:var(--mint-dark)}
.cookie-popup__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.cookie-popup__btns .cta{padding:1rem 1.6rem;font-size:1.4rem}
.cookie-popup__more { font-size: 1.4rem; text-decoration: underline; }
.cookie-popup__set{margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid #e8e8e8}
.cookie-line { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; padding: .7rem 0; font-size: 1.3rem; }
.cookie-line b{display:block;font-size:1.45rem}
.cookie-line em { font-style: normal; opacity: .7; }
.toggle{position:relative;flex:0 0 4.4rem;height:2.4rem;cursor:pointer}
.toggle input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.toggle i{position:absolute;inset:0;border-radius:1.2rem;background:#c4c4c4;transition:background .2s}
.toggle i::after { content: ""; position: absolute; top: .3rem; left: .3rem; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: #fff; transition: transform .2s; }
.toggle input:checked + i{background:var(--mint)}
.toggle input:checked + i::after { transform: translateX(2rem); }
.toggle input:focus-visible + i{outline:2px solid var(--slate);outline-offset:2px}
.cookie-popup__set .cta { margin-top: 1rem; }

@media (min-width:768px){
  .cookie-popup{left:auto;right:2.4rem;bottom:2.4rem}
}
