/* Figma 350:764 / 355:764. Isolated from checkout and other Bootstrap dialogs. */
#cartModal { z-index: 100001; color: #1d2725 !important; padding: 0 !important; font: 400 16px/24px 'Golos Text', Arial, sans-serif; }
body:has(#cartModal.show) > .modal-backdrop { z-index: 100000; }
#cartModal *, #cartModal *::before, #cartModal *::after { box-sizing: border-box; }
#cartModal .modal-dialog { width: calc(100% - 48px) !important; max-width: 960px !important; min-height: calc(100% - 48px); height: auto; margin: 24px auto !important; padding: 0 !important; }
#cartModal .modal-dialog::before { display: none; }
#cartModal .js-modal-cart { width: 100%; min-width: 0; }
#cartModal .cm-dialog { width: 100%; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); overflow: auto; overscroll-behavior: contain; display: block; padding: 0; border: 0; border-radius: 24px; background: #f7f4ee; box-shadow: 0 14px 32px -8px rgba(22,58,54,.14); color: #1d2725; }
#cartModal p, #cartModal h2, #cartModal h3 { margin: 0; padding: 0; text-align: left; text-transform: none; letter-spacing: normal; color: inherit; font-family: 'Golos Text', Arial, sans-serif; }
#cartModal button, #cartModal input, #cartModal a { font-family: 'Golos Text', Arial, sans-serif; letter-spacing: normal; text-transform: none; }
#cartModal [hidden] { display: none !important; }
#cartModal :is(a,button,input):focus-visible { outline: 2px solid #bd552b; outline-offset: 3px; }
#cartModal .cm-heading { padding: 32px; }
#cartModal .cm-title-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
#cartModal h2 { min-width: 0; font: 600 36px/44px 'Literata', Georgia, serif; }
#cartModal .cm-close { display: flex; width: 44px; height: 44px; flex: 0 0 44px; align-items: center; justify-content: center; margin: 0; padding: 0; border: 0; border-radius: 12px; background: #efe9de; cursor: pointer; }
#cartModal .cm-close img { display: block; width: 20px; height: 20px; }
#cartModal .cm-subtitle { margin-top: 8px; font: 400 15px/24px 'Golos Text', sans-serif; color: #6d756c; }
#cartModal .cm-items { display: block; margin: 0; padding: 0; list-style: none; background: #fff; }
#cartModal .cm-item { display: grid; grid-template-columns: minmax(0,1fr) 168px 152px; gap: 24px; align-items: center; padding: 28px 32px; margin: 0; }
#cartModal .cm-item + .cm-item { border-top: 1px solid #ded8cd; }
#cartModal .cm-product { display: flex; align-items: center; gap: 24px; min-width: 0; color: inherit; text-decoration: none; }
#cartModal .cm-photo { display: block; flex: 0 0 112px; width: 112px; height: 112px; border-radius: 12px; object-fit: cover; background: #efe9de; }
#cartModal .cm-photo--empty { display: grid; place-items: center; color: #6d756c; font-size: 13px; }
#cartModal .cm-copy { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
#cartModal .cm-copy h3 { color: #1d2725; font: 600 20px/28px 'Golos Text', sans-serif; overflow-wrap: anywhere; }
#cartModal .cm-copy .cm-size { font: 400 14px/20px 'Golos Text', sans-serif; color: #6d756c; }
#cartModal .cm-price { font: 400 16px/24px 'Golos Text', sans-serif; }
#cartModal .cm-old-price { color: #6d756c; font: 400 13px/20px 'Golos Text', sans-serif; }
#cartModal .cm-product:hover h3 { color: #bd552b; }
#cartModal .cm-quantity { min-width: 0; }
#cartModal .cm-quantity label { display: block; margin: 0 0 8px; color: #1d2725; font: 400 13px/20px 'Golos Text', sans-serif; }
#cartModal .cm-stepper { display: flex; align-items: center; width: 168px; height: 48px; border: 1px solid #ded8cd; border-radius: 12px; background: #f7f4ee; }
#cartModal .cm-stepper button { display: flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 46px; padding: 0; border: 0; border-radius: 11px; background: transparent; cursor: pointer; }
#cartModal .cm-stepper button img { display: block; width: 16px; height: 16px; }
#cartModal .cm-stepper button:hover, #cartModal .cm-close:hover { background: #e3ddcf; }
#cartModal .cm-input { min-width: 0; width: 100%; height: 46px; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; color: #1d2725; font: 500 16px/24px 'Golos Text', sans-serif; text-align: center; appearance: textfield; -moz-appearance: textfield; }
#cartModal .cm-input::-webkit-inner-spin-button, #cartModal .cm-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
#cartModal .cm-item-total { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; min-width: 0; }
#cartModal .cm-item-sum { color: #1d2725; font: 600 24px/32px 'Golos Text', sans-serif; text-align: right; overflow-wrap: anywhere; }
#cartModal .cm-remove { min-height: 44px; margin: -10px 0; padding: 10px 0 10px 12px; border: 0; background: transparent; color: #bd552b; font: 400 14px/24px 'Golos Text', sans-serif; cursor: pointer; }
#cartModal .cm-remove:hover { text-decoration: underline; }
#cartModal .cm-summary { display: flex; flex-direction: column; gap: 24px; padding: 32px; background: #f7f4ee; }
#cartModal .cm-total-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #1d2725; }
#cartModal .cm-total-row > span { font: 600 20px/28px 'Golos Text', sans-serif; }
#cartModal .cm-total { min-width: 0; font: 600 32px/40px 'Golos Text', sans-serif; text-align: right; overflow-wrap: anywhere; }
#cartModal .cm-delivery { color: #6d756c; font: 400 14px/22px 'Golos Text', sans-serif; }
#cartModal .cm-actions { display: flex; gap: 16px; }
#cartModal .cm-button { display: flex; flex: 1 1 0; min-width: 0; min-height: 52px; align-items: center; justify-content: center; padding: 13px 16px; margin: 0; border: 1px solid transparent; border-radius: 12px; background: #24352b; color: #fff; font: 600 16px/24px 'Golos Text', sans-serif; text-align: center; text-decoration: none; cursor: pointer; }
#cartModal .cm-button:hover { background: #163a36; color: #fff; }
#cartModal .cm-button--secondary { background: #fff; border-color: #ded8cd; color: #1d2725; }
#cartModal .cm-button--secondary:hover { background: #efe9de; color: #1d2725; }
#cartModal [disabled], #cartModal [aria-disabled="true"] { opacity: .55; cursor: wait; }
#cartModal .cm-feedback { margin: 0 32px 24px; padding: 12px 16px; border: 1px solid #bd552b; border-radius: 12px; color: #8b3618; font-size: 14px; line-height: 22px; }
#cartModal .cm-empty { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 32px; background: #fff; text-align: center; }
#cartModal .cm-empty h3 { font: 600 22px/30px 'Golos Text', sans-serif; text-align: center; }
#cartModal .cm-empty p { color: #6d756c; text-align: center; }
@media (max-width: 767px) {
    #cartModal .modal-dialog { width: calc(100% - 32px) !important; margin: 16px auto !important; min-height: calc(100% - 32px); }
    #cartModal .cm-dialog { max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); }
    #cartModal .cm-heading, #cartModal .cm-item, #cartModal .cm-summary, #cartModal .cm-empty { padding: 24px; }
    #cartModal h2 { font-size: 26px; line-height: 34px; }
    #cartModal .cm-subtitle { font-size: 14px; }
    #cartModal .cm-hint { display: none; }
    #cartModal .cm-item { grid-template-columns: 168px minmax(0,1fr); gap: 24px 12px; }
    #cartModal .cm-product { grid-column: 1 / -1; gap: 16px; align-items: flex-start; }
    #cartModal .cm-copy { gap: 4px; }
    #cartModal .cm-size { min-height: 24px; }
    #cartModal .cm-photo { flex-basis: 88px; width: 88px; height: 88px; }
    #cartModal .cm-copy h3 { font-size: 17px; line-height: 24px; }
    #cartModal .cm-item-sum { font-size: 22px; line-height: 30px; }
    #cartModal .cm-total { font-size: 28px; line-height: 36px; }
    #cartModal .cm-actions { flex-direction: column; gap: 12px; }
    #cartModal .cm-button { flex: 0 0 auto; width: 100%; }
    #cartModal .cm-feedback { margin-inline: 24px; }
}
@media (max-width: 374px) {
    #cartModal .cm-heading, #cartModal .cm-item, #cartModal .cm-summary, #cartModal .cm-empty { padding: 20px 16px; }
    #cartModal h2 { font-size: 23px; line-height: 32px; }
    #cartModal .cm-item { grid-template-columns: minmax(0,1fr); gap: 20px; }
    #cartModal .cm-item-total { flex-direction: row; align-items: center; justify-content: space-between; }
    #cartModal .cm-photo { flex-basis: 72px; width: 72px; height: 72px; }
    #cartModal .cm-feedback { margin-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) { #cartModal, #cartModal * { transition: none !important; } }
