.ut-header__cart-wrap { position: relative; }
.ut-mini-cart[hidden],.ut-add-confirmation[hidden] { display: none; }
.ut-mini-cart { position: absolute; z-index: var(--ut-z-menu); top: calc(100% + 10px); right: -8px; width: min(370px, calc(100vw - 24px)); overflow: hidden; border: 1px solid var(--ut-color-line); border-radius: 12px; padding: 0; background: var(--ut-color-surface); box-shadow: 0 18px 50px rgb(44 39 34 / 16%); color: var(--ut-color-ink); }
/* CDE SYNC 01 — mini cart follows the live CDE panel (no pointer arrow, 370px, radius 12). */
.ut-mini-cart__head,.ut-mini-cart__subtotal { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; }
.ut-mini-cart__head { padding: 16px 18px 12px; border-bottom: 1px solid #efe6da; }
.ut-mini-cart__head strong { font-size: 16.5px; font-weight: var(--ut-font-weight-regular); }
.ut-mini-cart__head span { color: #8a8074; font-size: 14.5px; }
.ut-mini-cart__line small { color: #8a8074; font-size: 14px; }
.ut-mini-cart__items { display: grid; max-height: 292px; overflow-y: auto; margin: 0; padding: 6px 18px; list-style: none; }
.ut-mini-cart__items li { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #f3eadd; }
.ut-mini-cart__media { display: grid; width: 52px; height: 52px; place-items: center; overflow: hidden; border-radius: 6px; background: var(--ut-color-sand); color: inherit; text-decoration: none; }
.ut-mini-cart__media img { width: 100%; height: 100%; object-fit: cover; }
.ut-mini-cart__line { display: grid; min-width: 0; gap: .2rem; }
.ut-mini-cart__product-link { overflow: hidden; color: inherit; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.ut-mini-cart__product-link:hover { text-decoration: underline; text-underline-offset: .15em; }
.ut-mini-cart__line strong { overflow: hidden; font-size: 15.5px; font-weight: var(--ut-font-weight-regular); text-overflow: ellipsis; white-space: nowrap; }
.ut-mini-cart__items li > b { font-size: 15.5px; font-weight: var(--ut-font-weight-regular); white-space: nowrap; }
.ut-mini-cart__subtotal { margin: 14px 18px 0; font-size: 16px; }
.ut-mini-cart__subtotal strong { font-weight: var(--ut-font-weight-regular); }
.ut-mini-cart__empty { margin: 0; padding: 26px 18px; color: #7b7064; font-size: 15.5px; text-align: center; }
.ut-mini-cart > .ut-button { display: flex; width: calc(100% - 36px); min-height: 48px; align-items: center; justify-content: center; margin: 14px 18px 18px; padding: 14px; border-radius: 999px; font-size: 16px; }
.ut-header__cart-wrap [data-ut-mini-cart-trigger].is-reacting .ut-count { animation: ut-cart-count-pop .52s ease both; }
@keyframes ut-cart-count-pop { 0% { transform: scale(1); } 42% { transform: scale(1.35); } 100% { transform: scale(1); } }
.ut-cart-fly { position: fixed; z-index: 200; display: block; width: 44px; height: 44px; pointer-events: none; --ut-fly-dx: 0px; --ut-fly-dy: 0px; }
.ut-cart-fly__orb { display: block; width: 44px; height: 44px; border: 3px solid #fffcf7; border-radius: 999px; background: #c9a48e; box-shadow: 0 8px 22px rgb(44 39 34 / 30%); }
.ut-cart-fly.is-flying { animation: ut-cart-fly-x .7s linear forwards; }
.ut-cart-fly.is-flying .ut-cart-fly__orb { animation: ut-cart-fly-y .7s cubic-bezier(.55,-.45,.75,.4) forwards; }
@keyframes ut-cart-fly-x { to { transform: translateX(var(--ut-fly-dx)); } }
@keyframes ut-cart-fly-y { to { transform: translateY(var(--ut-fly-dy)) scale(.32); } }
/* CDE FINAL POLISH — add dialog shell = CDE quick-add modal: 780px, radius 14, deep shadow, 44px close, qaIn. */
.ut-add-confirmation { position: fixed; inset: 0; z-index: calc(var(--ut-z-modal) + 20); display: flex; overflow-y: auto; padding: 16px; background: rgb(44 39 34 / 44%); animation: ut-dialog-fade .25s ease; }
.ut-add-confirmation__panel { position: relative; display: grid; flex: none; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); width: 100%; max-width: 780px; margin: auto; overflow: hidden; border-radius: 14px; background: var(--ut-color-surface); box-shadow: 0 30px 80px rgb(44 39 34 / 30%); outline: none; animation: ut-dialog-in .38s cubic-bezier(.2,.8,.2,1); }
@keyframes ut-dialog-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ut-dialog-in { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }
.ut-add-confirmation__close { position: absolute; z-index: 2; top: 12px; right: 12px; display: grid; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 999px; background: rgb(255 252 247 / 90%); color: var(--ut-color-ink); font-size: 1.75rem; cursor: pointer; transition: background .2s ease; }
.ut-add-confirmation__close svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.ut-add-confirmation__close:hover { background: var(--ut-color-sand); }
.ut-add-confirmation__media { display: grid; width: auto; aspect-ratio: 1; align-self: center; place-items: center; overflow: hidden; border-radius: 10px; margin: clamp(14px, 2vw, 20px) 0 clamp(14px, 2vw, 20px) clamp(14px, 2vw, 20px); background: var(--ut-color-sand); color: inherit; text-decoration: none; }
.ut-add-confirmation__media:focus-visible { outline: 2px solid var(--ut-color-clay); outline-offset: 3px; }
.ut-add-confirmation__media img { width: 100%; height: 100%; object-fit: cover; }
.ut-add-confirmation__content { display: flex; min-width: 0; flex-direction: column; padding: clamp(22px, 3.5vw, 34px); }
@media (max-width: 615px) { .ut-add-confirmation__media { margin-right: clamp(14px, 2vw, 20px); } }
.ut-add-confirmation__success-mark { display: grid; width: 3.25rem; height: 3.25rem; flex: none; place-items: center; border-radius: 50%; background: #edf0ea; color: #4f6b4a; }
.ut-add-confirmation__success-mark svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ut-add-confirmation__content h2 { margin: 1.125rem 2.5rem .25rem 0; color: var(--ut-color-ink); font-family: var(--ut-font-display); font-size: clamp(1.625rem,3vw,1.875rem); font-weight: var(--ut-font-weight-regular); line-height: 1.15; }
.ut-add-confirmation__item { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: .875rem; padding: .875rem 0; border-top: 1px solid var(--ut-color-line); }
.ut-add-confirmation__item > div { display: grid; gap: .25rem; min-width: 0; }
.ut-add-confirmation__item strong { font-size: var(--ut-text-sm); font-weight: var(--ut-font-weight-medium); }
.ut-add-confirmation__item [data-ut-add-confirmation-product] { color: inherit; text-decoration: none; }
.ut-add-confirmation__item [data-ut-add-confirmation-product]:hover { text-decoration: underline; text-underline-offset: .15em; }
.ut-add-confirmation__item small { color: var(--ut-color-muted); font-size: var(--ut-text-xs); }
.ut-add-confirmation__item > b { font-size: var(--ut-text-sm); font-weight: var(--ut-font-weight-medium); white-space: nowrap; }
.ut-add-confirmation__cart-count { margin: 0 0 1rem; border-top: 1px solid var(--ut-color-line); padding-top: .875rem; color: var(--ut-color-muted); font-size: var(--ut-text-sm); }
.ut-add-confirmation__content > .ut-button { display: flex; width: 100%; min-height: 3.25rem; align-items: center; justify-content: center; margin-top: .625rem; }
body.ut-add-confirmation-open { overflow: hidden; }
.ut-pdp__variant-required { color: var(--ut-color-muted); font-size: var(--ut-text-sm); }
@media (max-width: 76.99rem) { .ut-header__cart-wrap > .ut-mini-cart { display: none; } }
@media (max-width: 43.99rem) {
  .ut-footer__newsletter-inner { gap: .875rem; padding-block: 1.25rem; }
  .ut-footer__newsletter form { gap: .5rem; }
  /* Keep the approved CDE newsletter input and action on one compact row. */
  .ut-footer__newsletter form { flex-direction: row; align-items: center; flex-wrap: wrap; }
  .ut-footer__newsletter input { flex: 0 1 auto; width: 100%; }
  .ut-footer__newsletter input,.ut-footer__newsletter .ut-button { min-height: 2.75rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ut-header__cart-wrap [data-ut-mini-cart-trigger].is-reacting .ut-count { animation: none; }
  .ut-cart-fly { display: none !important; }
  .ut-add-confirmation, .ut-add-confirmation__panel { animation: none; }
}

/* CDE FINAL POLISH — confirmation content follows the CDE "Přidáno do košíku" state. */
.ut-add-confirmation__success-mark { width: 52px; height: 52px; animation: ut-pop-ring .4s cubic-bezier(.2,.9,.3,1.3); }
.ut-add-confirmation__success-mark svg path { stroke-dasharray: 24; stroke-dashoffset: 24; animation: ut-draw-check .45s .15s ease forwards; }
@keyframes ut-pop-ring { from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes ut-draw-check { to { stroke-dashoffset: 0; } }
.ut-add-confirmation__content h2 { margin: 18px 2.5rem 0 0; font-size: clamp(26px, 3vw, 30px); line-height: normal; }
.ut-add-confirmation__item { display: block; padding: 0; border: 0; }
.ut-add-confirmation__item p { margin: 0; line-height: normal; }
.ut-add-confirmation__name { margin-top: 14px !important; color: var(--ut-color-ink); font-size: 16.5px; }
.ut-add-confirmation__name a { color: inherit; text-decoration: none; }
.ut-add-confirmation__name a:hover { text-decoration: underline; text-underline-offset: .15em; }
.ut-add-confirmation__meta { margin-top: 4px !important; color: #8a8074; font-size: 15px; }
.ut-add-confirmation__total { margin-top: 8px !important; color: var(--ut-color-ink); font-size: 16.5px; }
.ut-add-confirmation__cart-count.ut-visually-hidden { margin: 0; padding: 0; border: 0; }
.ut-add-confirmation__content > [data-ut-add-confirmation-cart] { margin-top: auto; }
.ut-add-confirmation__item { margin-bottom: 24px; }
.ut-add-confirmation__content > .ut-button { min-height: 52px; padding: 16px; border-radius: 999px; font-size: 16.5px; transition: background .25s ease; }
.ut-add-confirmation__content > .ut-button:not(.ut-button--secondary):hover { background: #9e5f43; }
.ut-add-confirmation__content > .ut-button--secondary { min-height: 48px; margin-top: 10px; padding: 14px; border: 1px solid #d9ccba; background: transparent; color: var(--ut-color-ink); font-size: 16px; transition: background .2s ease; }
.ut-add-confirmation__content > .ut-button--secondary:hover { background: #f3eadd; }
@media (prefers-reduced-motion: reduce) { .ut-add-confirmation__success-mark, .ut-add-confirmation__success-mark svg path { animation: none; stroke-dashoffset: 0; } }
