:root { --cart-bg: #fffafc; }
.cart-page { background: var(--cart-bg); }
.cart-page .prototype-bar { position: relative; }
.cart-header .header-main { grid-template-columns: minmax(270px, 1fr) auto minmax(170px, 1fr); min-height: 88px; }
.checkout-security { justify-self: center; display: grid; grid-template-columns: 38px auto; column-gap: 10px; align-items: center; }
.checkout-security > span { grid-row: 1 / 3; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; color: #087f61; background: #dcf8ef; font-weight: 900; }
.checkout-security strong { color: var(--ink); font: 800 14px Montserrat, sans-serif; }
.checkout-security small { color: #837881; font-size: 14px; }
.cart-back-link { justify-self: end; color: var(--ink); font-size: 14px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }

.cart-hero { padding: 42px 0 31px; background: radial-gradient(circle at 12% 100%, rgba(247,0,118,.11), transparent 23%), radial-gradient(circle at 90% 0%, rgba(19,184,218,.13), transparent 27%), #fff; border-bottom: 1px solid #f0e8ed; }
.checkout-steps { margin: 0 0 39px; display: grid; grid-template-columns: repeat(4, 1fr); border-radius: 18px; overflow: hidden; border: 1px solid #e9dfe5; background: #fff; box-shadow: 0 12px 30px rgba(30,19,37,.05); }
.checkout-step { min-height: 68px; padding: 12px 20px; display: flex; align-items: center; gap: 11px; color: #887e86; position: relative; }
.checkout-step:not(:last-child)::after { content: ''; position: absolute; right: 0; top: 16px; bottom: 16px; width: 1px; background: #eee6eb; }
.checkout-step i { width: 32px; height: 32px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; background: #f2edf0; font: normal 900 12px Montserrat, sans-serif; }
.checkout-step strong { font: 800 14px Montserrat, sans-serif; }
.checkout-step.is-current { color: var(--ink); background: linear-gradient(120deg, #fff2f8, #fff); }
.checkout-step.is-current i { color: #fff; background: var(--pink); box-shadow: 0 7px 17px rgba(247,0,118,.25); }
.cart-hero .eyebrow { margin: 0 0 10px; }
.cart-hero h1 { max-width: 760px; margin: 0; font: 900 clamp(38px, 5vw, 65px)/.98 Montserrat, sans-serif; letter-spacing: -.055em; color: var(--ink); }
.cart-hero__lead { max-width: 710px; margin: 19px 0 0; color: #6f646c; font-size: 16px; line-height: 1.65; }

.cart-content { padding: 38px 0 68px; }
.cart-layout { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(330px, .68fr); gap: 28px; align-items: start; }
.cart-main { display: grid; gap: 20px; min-width: 0; }
.cart-card, .cart-summary { background: #fff; border: 1px solid #eadfe6; border-radius: 23px; box-shadow: 0 15px 40px rgba(36,24,43,.065); }
.cart-product { padding: 18px; display: grid; grid-template-columns: 205px minmax(0, 1fr); gap: 24px; }
.cart-product__image { min-height: 265px; position: relative; overflow: hidden; border-radius: 17px; display: grid; place-items: end center; background: radial-gradient(circle at 50% 55%, #fff 0 38%, transparent 39%), #fff0f6; }
.cart-product__image::after { content: ''; position: absolute; width: 150px; height: 150px; border: 28px solid rgba(247,0,118,.08); border-radius: 50%; left: -52px; bottom: -50px; }
.cart-product__image > span { position: absolute; z-index: 2; left: 12px; top: 12px; min-width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--pink); font: 900 12px Montserrat, sans-serif; }
.cart-product__image img { position: relative; z-index: 1; width: 100%; height: 255px; object-fit: contain; object-position: center bottom; }
.cart-product__body { padding: 7px 5px 3px 0; display: flex; flex-direction: column; min-width: 0; }
.cart-product__top { display: flex; justify-content: space-between; gap: 18px; }
.cart-kicker { color: var(--pink); font: 800 12px Montserrat, sans-serif; text-transform: uppercase; letter-spacing: .11em; }
.cart-product h2 { margin: 7px 0 7px; color: var(--ink); font: 900 24px/1.15 Montserrat, sans-serif; letter-spacing: -.03em; }
.cart-product__top p { margin: 0; color: #7e737b; font-size: 14px; }
.cart-product__top p strong { color: var(--ink); }
.cart-remove { align-self: flex-start; border: 0; color: #8f828a; background: none; font: 700 14px Montserrat, sans-serif; cursor: pointer; }
.cart-remove span { font-size: 19px; vertical-align: -1px; }
.cart-remove:hover { color: var(--pink); }
.cart-product__choices { margin: 25px 0 18px; display: grid; grid-template-columns: .55fr .8fr 1.45fr; gap: 8px; }
.cart-product__choices > div { min-height: 69px; padding: 12px 14px; border-radius: 13px; background: #f9f6f8; }
.cart-product__choices small { display: block; margin-bottom: 5px; color: #8d8189; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.cart-summary__dates small { min-height: 36px; display: flex; align-items: end; justify-content: center; margin-bottom: 6px; color: #8d8189; font-size: 13px; line-height: 1.35; text-transform: uppercase; letter-spacing: .035em; }
.cart-product__choices strong { color: var(--ink); font: 800 14px/1.35 Montserrat, sans-serif; }
.cart-product__date strong { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; }
.cart-product__date i { color: var(--pink); font-style: normal; }
.cart-product__bottom { margin-top: auto; padding-top: 16px; border-top: 1px solid #eee6eb; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.cart-product__bottom a { color: var(--pink); font-size: 14px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.cart-product__bottom > strong { color: var(--ink); font: 900 23px Montserrat, sans-serif; }

.delivery-card { padding: 25px; }
.cart-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 18px; }
.cart-section-heading small { color: var(--pink); font: 800 13px Montserrat, sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.cart-summary__head > small { color: var(--pink); font: 800 12px Montserrat, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.cart-section-heading h2 { margin: 5px 0 0; color: var(--ink); font: 900 22px/1.15 Montserrat, sans-serif; letter-spacing: -.03em; }
.cart-section-heading > span { color: #8b8087; font-size: 14px; }
.cart-delivery-options { margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: 1fr; gap: 12px; }
.cart-delivery-option { min-height: 88px; padding: 13px 14px; position: relative; display: grid; grid-template-columns: 50px minmax(0, 1fr) auto 23px; gap: 12px; align-items: center; border: 2px solid #e8dfe4; border-radius: 17px; cursor: pointer; transition: .18s; }
.cart-delivery-option:hover { border-color: #d6c7d0; transform: translateY(-1px); }
.cart-delivery-option.is-selected { border-color: var(--pink); background: #fff4f9; box-shadow: 0 8px 20px rgba(247,0,118,.08); }
.cart-delivery-option input { position: absolute; opacity: 0; pointer-events: none; }
.cart-delivery-option__icon, .cart-delivery-option__logo { width: 50px; height: 50px; border-radius: 13px; display: grid; place-items: center; background: #fff; border: 1px solid #eadfe6; }
.cart-delivery-option__icon { color: #fff; background: var(--pink); border-color: var(--pink); }
.cart-delivery-option__icon svg { width: 27px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cart-delivery-option__logo img { width: 38px; height: auto; }
.cart-delivery-option strong { display: block; color: var(--ink); font: 800 14px/1.3 Montserrat, sans-serif; }
.cart-delivery-option small { display: block; margin-top: 4px; color: #81767e; font-size: 14px; line-height: 1.4; }
.cart-delivery-option__price { min-width: 68px; color: var(--ink); font: 900 15px/1 Montserrat, sans-serif; text-align: right; white-space: nowrap; }
.cart-delivery-option.is-selected .cart-delivery-option__price { color: var(--pink); }
.cart-delivery-option > b { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; color: transparent; border: 1px solid #d8cdd4; font-size: 11px; }
.cart-delivery-option.is-selected > b { color: #fff; border-color: var(--pink); background: var(--pink); }
.delivery-cart-note { margin-top: 15px; padding: 14px 17px; display: flex; gap: 17px; align-items: center; border: 1px solid; border-radius: 14px; }
.delivery-cart-note[hidden] { display: none; }
.delivery-cart-note p { margin: 0; font-size: 14px; line-height: 1.5; }
.pickup-cart-note { color: #57411e; background: #fff9df; border-color: #f0d57a; }
.pickup-cart-note__icon { width: 43px; height: 43px; flex: 0 0 auto; display: grid; place-items: center; color: #fff; background: var(--pink); border-radius: 12px; }
.pickup-cart-note__icon svg { width: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.parcelshop-cart-note { color: #45376d; background: #f3efff; border-color: #cfc2f4; }
.parcelshop-cart-note img { width: 62px; height: auto; flex: 0 0 auto; }
.ppl-cart-note { color: #2d5361; background: #eafaff; border-color: #b8e9f4; }
.ppl-cart-note img { width: 62px; height: auto; flex: 0 0 auto; }
.return-delivery-card { border-color: #cceaf1; background: linear-gradient(145deg, #fff 0 72%, #effbfe 100%); }
.return-delivery-card__intro { margin: -6px 0 18px; color: #6f646c; font-size: 14px; line-height: 1.55; }
.cart-delivery-option__icon--return { background: #12b7d5; border-color: #12b7d5; }
.cart-delivery-option__icon--own { color: #fff; background: #7250df; border-color: #7250df; }
.ppl-return-note { color: #2d5361; background: #eafaff; border-color: #a9deea; }
.ppl-return-note img { width: 62px; height: auto; flex: 0 0 auto; }
.own-carrier-return-note { color: #3f3568; background: #f3efff; border-color: #cfc2f4; }
.own-carrier-return-note__icon { width: 43px; height: 43px; flex: 0 0 auto; display: grid; place-items: center; color: #fff; background: #7250df; border-radius: 12px; font: 900 22px Montserrat, sans-serif; }

.cart-assurance { padding: 20px 22px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.cart-assurance > div { display: flex; gap: 10px; align-items: flex-start; }
.cart-assurance > div > span { width: 28px; height: 28px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; color: #087f61; background: #dcf8ef; font-weight: 900; }
.cart-assurance p { margin: 2px 0 0; }
.cart-assurance strong { display: block; color: var(--ink); font: 800 14px/1.35 Montserrat, sans-serif; }
.cart-assurance small { display: block; margin-top: 4px; color: #837881; font-size: 14px; line-height: 1.45; }

.cart-summary { position: sticky; top: 22px; padding: 27px; border-color: #ffb1d3; background: linear-gradient(155deg, #fff 0 70%, #fff0f7 100%); }
.cart-summary__head { padding-bottom: 20px; border-bottom: 1px solid #eadfe6; }
.cart-summary__head h2 { margin: 7px 0 0; color: var(--ink); font: 900 26px/1.12 Montserrat, sans-serif; letter-spacing: -.035em; }
.cart-summary__dates { margin: 18px 0; padding: 14px 13px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: center; text-align: center; border-radius: 15px; background: #f8f4f7; }
.cart-summary__dates i { color: var(--pink); font-style: normal; }
.cart-summary__dates strong { color: var(--ink); font: 800 14px Montserrat, sans-serif; }
.cart-summary__prices { margin: 0; padding: 0 2px 14px; border-bottom: 1px solid #eadfe6; }
.cart-summary__prices > div { padding: 7px 0; display: flex; justify-content: space-between; gap: 20px; }
.cart-summary__prices dt { color: #655c62; font-size: 14px; }
.cart-summary__prices dt small { display: block; margin-top: 3px; color: #8d8189; font-size: 14px; line-height: 1.35; }
.cart-summary__prices dd { margin: 0; color: var(--ink); font: 800 14px Montserrat, sans-serif; }
.cart-summary__total { padding: 20px 2px; display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.cart-summary__total span { color: var(--ink); font: 800 14px Montserrat, sans-serif; }
.cart-summary__total strong { color: var(--ink); font: 900 27px Montserrat, sans-serif; }
.cart-summary__deposit { padding: 14px 15px; display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; color: #654b1b; background: #fff7d8; border: 1px solid #f1d46d; border-radius: 14px; }
.cart-summary__deposit span { font-size: 14px; font-weight: 800; }
.cart-summary__deposit strong { font: 900 14px Montserrat, sans-serif; }
.cart-summary__deposit p { grid-column: 1 / -1; margin: 4px 0 0; font-size: 14px; line-height: 1.45; }
.cart-continue { width: 100%; min-height: 58px; margin-top: 17px; padding: 0 21px; display: flex; align-items: center; justify-content: space-between; border: 0; border-radius: 14px; color: #fff; background: var(--pink); box-shadow: 0 13px 25px rgba(247,0,118,.25); font: 900 14px Montserrat, sans-serif; cursor: pointer; transition: .18s; }
.cart-continue:hover { transform: translateY(-2px); box-shadow: 0 16px 28px rgba(247,0,118,.31); }
.cart-continue span { font-size: 20px; }
.cart-summary__note { margin: 13px 2px 16px; color: #7f747b; font-size: 14px; line-height: 1.5; text-align: center; }
.cart-summary__note span { color: #0e9e75; font-weight: 900; }
.cart-summary__payments { padding-top: 14px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 13px; border-top: 1px solid #eadfe6; }
.cart-summary__payments img { width: auto; max-width: 78px; height: 25px; object-fit: contain; }

.cart-empty { grid-column: 1 / -1; padding: 70px 25px; text-align: center; border: 1px solid #eadfe6; border-radius: 25px; background: radial-gradient(circle at 50% 15%, #fff0f7, transparent 38%), #fff; box-shadow: 0 15px 40px rgba(36,24,43,.06); }
.cart-empty[hidden] { display: none; }
.cart-empty__icon { width: 70px; height: 70px; margin: 0 auto 24px; display: block; border-radius: 50%; box-shadow: 0 10px 28px rgba(247,0,118,.22); }
.cart-empty__icon img { width: 100%; height: 100%; object-fit: contain; }
.cart-empty .eyebrow { justify-content: center; }
.cart-empty h2 { max-width: 650px; margin: 13px auto; color: var(--ink); font: 900 35px/1.1 Montserrat, sans-serif; letter-spacing: -.04em; }
.cart-empty > p:not(.eyebrow) { max-width: 570px; margin: 0 auto 24px; color: #71666e; font-size: 14px; line-height: 1.6; }

.cart-footer { color: var(--ink); background: #fff; border-top: 1px solid #eadfe6; }
.cart-footer__inner { min-height: 150px; padding: 35px 0; display: grid; grid-template-columns: 1.25fr .8fr 1fr; gap: 55px; align-items: center; }
.cart-footer__help, .cart-footer__links { display: flex; flex-direction: column; gap: 8px; }
.cart-footer__help small { color: var(--pink); font: 800 12px Montserrat, sans-serif; text-transform: uppercase; letter-spacing: .1em; }
.cart-footer__help a, .cart-footer__links a { color: #61575e; font-size: 14px; font-weight: 700; }
.cart-footer__bottom { padding: 17px 0; color: #635960; background: #ffdce9; font-size: 14px; }
.cart-footer__bottom .shell { display: flex; justify-content: space-between; gap: 20px; }

@media (max-width: 1050px) {
  .cart-header .header-main { grid-template-columns: 1fr auto; }
  .checkout-security { display: none; }
  .cart-layout { grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); }
  .cart-product { grid-template-columns: 170px minmax(0, 1fr); }
  .cart-product__choices { grid-template-columns: 1fr 1fr; }
  .cart-product__date { grid-column: 1 / -1; }
  .cart-assurance { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .cart-layout { grid-template-columns: 1fr; }
  .cart-summary { position: static; }
  .checkout-steps { grid-template-columns: repeat(4, minmax(72px, 1fr)); }
  .checkout-step { justify-content: center; padding: 11px 7px; }
  .checkout-step strong { display: none; }
  .checkout-step.is-current strong { display: block; }
  .cart-delivery-options { grid-template-columns: 1fr; }
  .cart-footer__inner { grid-template-columns: 1.2fr 1fr; }
  .cart-footer__links { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; gap: 18px; }
}

@media (max-width: 600px) {
  .cart-page .announcement { display: none; }
  .cart-header .header-main { min-height: 72px; gap: 10px; }
  .cart-header .brand__copy small { display: none; }
  .cart-header .brand__copy strong { font-size: 14px; }
  .cart-header .brand__mark { width: 43px; height: 43px; }
  .cart-back-link { font-size: 14px; }
  .cart-hero { padding: 24px 0 25px; }
  .checkout-steps { margin-bottom: 28px; border-radius: 14px; }
  .checkout-step { min-height: 54px; }
  .checkout-step i { width: 29px; height: 29px; }
  .checkout-step.is-current { grid-column: span 1; }
  .checkout-step.is-current strong { display: none; }
  .cart-hero h1 { font-size: 38px; }
  .cart-hero__lead { font-size: 14px; }
  .cart-content { padding: 22px 0 45px; }
  .cart-layout { gap: 18px; }
  .cart-product { padding: 13px; grid-template-columns: 105px minmax(0, 1fr); gap: 14px; border-radius: 19px; }
  .cart-product__image { min-height: 175px; }
  .cart-product__image img { height: 170px; }
  .cart-product__image > span { width: 28px; min-width: 28px; height: 28px; font-size: 12px; }
  .cart-product h2 { font-size: 18px; }
  .cart-product__top { gap: 5px; }
  .cart-remove { width: 30px; overflow: hidden; white-space: nowrap; font-size: 0; }
  .cart-remove span { font-size: 22px; }
  .cart-product__choices { grid-column: 1 / -1; margin: 17px 0 12px; grid-template-columns: 1fr 1fr; }
  .cart-product__choices > div { min-height: 61px; padding: 10px; }
  .cart-product__date { grid-column: 1 / -1; }
  .cart-product__bottom { grid-column: 1 / -1; }
  .delivery-card { padding: 18px; }
  .cart-section-heading { align-items: flex-start; }
  .cart-section-heading > span { display: none; }
  .cart-section-heading h2 { font-size: 19px; }
  .cart-delivery-option { grid-template-columns: 46px minmax(0, 1fr) auto 22px; min-height: 80px; padding: 11px; }
  .cart-delivery-option__price { min-width: 56px; font-size: 14px; }
  .cart-delivery-option__icon, .cart-delivery-option__logo { width: 46px; height: 46px; }
  .cart-assurance { padding: 18px; }
  .cart-summary { padding: 21px; border-radius: 20px; }
  .cart-summary__head h2 { font-size: 23px; }
  .cart-summary__total strong { font-size: 25px; }
  .cart-footer__inner { grid-template-columns: 1fr; gap: 24px; }
  .cart-footer__links { grid-column: auto; }
  .cart-footer__bottom .shell { flex-direction: column; gap: 5px; }
}

/* Textové informace v košíku zůstávají čitelné i na telefonu. */
.cart-page .checkout-step i,
.cart-page .cart-product__image > span,
.cart-page .cart-kicker,
.cart-page .cart-product__choices small,
.cart-page .cart-summary__dates small,
.cart-page .cart-section-heading small,
.cart-page .cart-summary__head > small,
.cart-page .cart-footer__help small { font-size: 14px; }
