/* Favourites: floating counter (fallback entry point) and the panel dialog. */
.starina-favorites-trigger{position:fixed;right:16px;bottom:16px;z-index:40;gap:8px;box-shadow:var(--shadow,0 6px 20px rgb(0 0 0 / .18))}
.starina-favorites-trigger b{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--primary-ink,#fff);color:var(--primary,#6b3f22);font-size:.8rem}
/* Panel and page: a list on top (stable row heights, fixed columns), a separate fixed-height totals block below. */
dialog.starina-favorites[data-starina-favorites-panel]{overflow:visible}
/* Specificity above the design-system `dialog:is(.dialog,…)` reset (radius 0, transparent, 56px padding). */
dialog.starina-favorites[data-starina-favorites-panel]{position:fixed;inset:0;margin:auto;width:min(960px,calc(100vw - 48px));max-width:100vw;height:min(880px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);border:0;padding:0;border-radius:var(--r-lg);background:var(--surface,#fff);box-shadow:var(--shadow-warm,var(--shadow,0 18px 50px rgb(0 0 0 / .2)))}
.starina-favorites::backdrop{background:rgb(28 18 12 / .68)}
.starina-favorites__card{position:relative;display:flex;flex-direction:column;overflow:hidden;height:100%;padding:36px 40px 32px;border-radius:inherit;background:var(--surface,#fff);color:var(--ink,#251d17)}
.starina-favorites__head{flex:none;display:grid;gap:8px;margin-bottom:20px}
.starina-favorites__title{margin:0 56px 0 0;font-family:var(--display);font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1;letter-spacing:-.02em}
dialog.starina-favorites>.starina-favorites__close{position:absolute;top:calc(var(--target,48px) / -2);right:calc(var(--target,48px) / -2 + 8px);z-index:1}
.starina-favorites__status{margin:0;color:var(--muted,#66594f);font-size:.9375rem;line-height:1.5}
.starina-favorites__status[hidden]{display:none}
.starina-favorites__list{display:block;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:0;list-style:none;border-block:1px solid var(--line,#e5ddd3)}
.starina-favorites__list:empty{display:none}
/* Row: photo | title + size | unit price | stepper | remove. Every column has a fixed width, so numbers never move the controls. */
.starina-favorites__item{display:grid;grid-template-columns:88px minmax(0,1fr) 128px 156px 64px;grid-template-areas:"media copy price qty remove";column-gap:20px;align-items:center;height:112px;padding:12px 0;border-bottom:1px solid var(--line,#e5ddd3)}
.starina-favorites__item:last-child{border-bottom:0}
.starina-favorites__media{grid-area:media;display:block;width:88px;height:88px;overflow:hidden;border-radius:var(--r-sm,6px);background:var(--surface-2,#f4efe8)}
.starina-favorites__media img{width:100%;height:100%;object-fit:cover}
.starina-favorites__copy{grid-area:copy;min-width:0}
.starina-favorites__copy>a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:inherit;font-weight:600;line-height:1.3}
.starina-favorites__copy>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:6px 0 0;color:var(--muted,#66594f);font-size:.85rem;line-height:1.4}
.starina-favorites__price{grid-area:price;justify-self:end;text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.starina-favorites__quantity{grid-area:qty;margin:0;justify-self:start}
.starina-favorites__quantity>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.starina-favorites__quantity .quantity-stepper{width:156px;flex:none}
.starina-favorites__quantity .quantity-stepper__button{width:44px;height:44px;flex:none}
.starina-favorites__quantity input{width:60px;flex:none}
.starina-favorites__remove{grid-area:remove;justify-self:end}
.product-quantity,.starina-favorites__quantity{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted,#66594f)}
.product-quantity{margin-top:10px}
/* Card steppers are built by forms.js; the empty mount already holds the control's height (no layout shift). */
.product-quantity[data-quantity-mount]{min-height:44px}
.quantity-stepper{display:inline-flex;align-items:center;gap:4px}
.quantity-stepper__button{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line,#d8cec3);border-radius:var(--r-sm,6px);background:var(--surface,#fff);color:var(--ink,#251d17);font:600 1.25rem/1 var(--sans);cursor:pointer}
.quantity-stepper__button:hover:not(:disabled){border-color:var(--primary,#6b3f22);background:var(--surface-2,#f4efe8)}
.quantity-stepper__button:focus-visible{outline:2px solid var(--primary,#6b3f22);outline-offset:2px}
.quantity-stepper__button:disabled{color:var(--muted,#66594f);opacity:.55;cursor:not-allowed}
.product-quantity input,.starina-favorites__quantity input{width:60px;min-height:44px;padding:6px 4px;border:1px solid var(--line,#d8cec3);border-radius:var(--r-sm,6px);background:var(--surface,#fff);color:var(--ink,#251d17);font:inherit;text-align:center;font-variant-numeric:tabular-nums}
.product-quantity input,.starina-favorites__quantity input{-moz-appearance:textfield}
.product-quantity input::-webkit-inner-spin-button,.product-quantity input::-webkit-outer-spin-button,.starina-favorites__quantity input::-webkit-inner-spin-button,.starina-favorites__quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.product-quantity input:focus-visible,.starina-favorites__quantity input:focus-visible{outline:2px solid var(--primary,#6b3f22);outline-offset:2px}

/* Totals: own container under the list; every row has a fixed height, only the text of the values changes. */
.starina-favorites__foot{flex:none;display:grid;gap:20px;padding-top:20px}
.starina-favorites__totals{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.starina-favorites__total-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;height:1.75rem;margin:0;line-height:1.75rem}
.starina-favorites__total-row b{flex:none;min-width:9ch;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.starina-favorites__total-row--sum{font-size:1.25rem}
.starina-favorites__total-row--sum b{font-size:1.5rem;font-weight:700}
.starina-favorites__total-note{margin:0;color:var(--muted,#66594f);font-size:.8125rem;line-height:1.4}
.starina-favorites__total-row--quote{color:var(--muted,#66594f);font-size:.875rem}
.starina-favorites__total-row--quote.is-idle{visibility:hidden}
.starina-favorites__actions{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px 16px}
.starina-favorites__actions .button{min-height:52px}
.starina-favorites__actions>.text-link{margin-left:auto}
.starina-favorites__empty p{margin:0 0 20px}
.starina-favorites__empty-actions{display:flex;flex-wrap:wrap;gap:12px}
.starina-favorites__open b{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:8px;padding:0 6px;border-radius:999px;background:var(--primary-ink,#fff);color:var(--primary,#6b3f22);font-size:.8rem;font-variant-numeric:tabular-nums}
/* Favourites page: the same rows inline (no dialog scroll box), totals under the list. */
.starina-favorites-page{display:flex;flex-direction:column;gap:24px}
.starina-favorites-page .starina-favorites__list{flex:none;max-height:none;overflow:visible}
.starina-favorites-page .starina-favorites__totals{max-width:560px}
.starina-favorites-page .starina-favorites__actions>.text-link{margin-left:0}
@media(max-width:899px){
  .starina-favorites__item{grid-template-columns:72px minmax(0,1fr) 112px 156px 56px;column-gap:14px}
  .starina-favorites__media{width:72px;height:72px}
}
@media(max-width:699px){
  dialog.starina-favorites[data-starina-favorites-panel],dialog.starina-favorites[open]{inset:0;width:calc(100vw - 16px);max-width:none;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:var(--r-lg)}
  dialog.starina-favorites>.starina-favorites__close{top:12px;right:12px}
  .starina-favorites__card{padding:20px 16px 16px}
  .starina-favorites__head{margin-bottom:12px}
  .starina-favorites__item{position:relative;grid-template-columns:64px minmax(0,1fr) 156px;grid-template-areas:"media copy copy" "media price qty";column-gap:12px;row-gap:8px;align-items:center;height:auto;padding:14px 0}
  .starina-favorites__media{width:64px;height:64px;align-self:start}
  .starina-favorites__copy{padding-right:64px}
  .starina-favorites__copy>p{-webkit-line-clamp:1;margin-top:4px}
  .starina-favorites__price{justify-self:start;text-align:left}
  .starina-favorites__remove{position:absolute;top:14px;right:0;font-size:.875rem}
  .starina-favorites__foot{gap:14px;padding-top:14px}
  .starina-favorites__totals{gap:2px}
  .starina-favorites__total-row{height:1.5rem;line-height:1.5rem}
  .starina-favorites__total-row--sum{font-size:1.0625rem}
  .starina-favorites__total-row--sum b{font-size:1.25rem}
  .starina-favorites__total-row--quote{font-size:.8125rem}
  .starina-favorites__total-note{font-size:.75rem}
  .starina-favorites__actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px}
  .starina-favorites__actions>[data-favorites-send]{grid-column:1/-1}
  .starina-favorites__actions>.text-link{margin:0}
  .starina-favorites-page .starina-favorites__actions{grid-template-columns:1fr}
}
.starina-favorites__copy>.starina-favorites__specs{display:none}
/* Undo after a removal: the design-system .favorite-toast, raised above the cookie panel. */
body.has-cookie-banner .favorite-toast[data-favorites-undo]{bottom:calc(var(--cookie-banner-space,0px) + 1rem)}
/* The printable selection must not inherit viewport-height scrolling/clipping. */
@media print{
  body:has(dialog.starina-favorites[open]){overflow:visible!important;height:auto!important}
  body:has(dialog.starina-favorites[open])>*:not(dialog.starina-favorites){display:none!important}
  dialog.starina-favorites[open],dialog.starina-favorites[data-starina-favorites-panel]{position:static!important;inset:auto!important;transform:none!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;overflow:visible!important;border:0!important;box-shadow:none!important}
  dialog.starina-favorites[open]::backdrop{display:none}
  .starina-favorites__card,.starina-favorites__list{display:block!important;height:auto!important;max-height:none!important;overflow:visible!important}
  .starina-favorites__card{padding:0!important}
  .starina-favorites__title{margin-bottom:20px!important}
  .starina-favorites__item{break-inside:avoid;page-break-inside:avoid;grid-template-columns:64px minmax(0,1fr) 112px 80px;grid-template-areas:"media copy price qty";height:auto;padding:16px 0}
  .starina-favorites__media{width:64px;height:64px}
  .starina-favorites__actions,.starina-favorites__close,.starina-favorites__remove,.starina-favorites .quantity-stepper__button,.starina-favorites-page .starina-favorites__actions,.starina-favorites-page .starina-favorites__remove,.starina-favorites-page .quantity-stepper__button{display:none!important}
  .starina-favorites__quantity input{border:0;background:transparent;color:#000}
  /* Документ, а не экран: полные название и характеристики, адрес изделия на сайте. */
  .starina-favorites__copy>a,.starina-favorites__copy>p{display:block;overflow:visible;-webkit-line-clamp:none}
  .starina-favorites__copy>a::after{content:attr(href);display:block;margin-top:2px;color:var(--muted);font-size:8pt;font-weight:400;word-break:break-all}
  .starina-favorites__copy>.starina-favorites__specs{display:block!important}
  .starina-favorites__quantity>span:first-child{position:static;width:auto;height:auto;clip-path:none;font-size:8pt}
  .starina-favorites__quantity .quantity-stepper{width:auto}
  .starina-favorites__quantity input{width:3em;min-height:0;padding:0}
  .starina-favorites__total-row--quote.is-idle{display:none}
  .favorite-toast{display:none!important}
}
