#cart_popup.animated-modal {
    width: min(1120px, calc(100vw - 32px));
    max-width: 1120px;
    padding: 0 !important;
    border-radius: 18px;
    background: #fefefe;
    overflow: hidden;
}

#cart_popup .fancybox-close-small {
    top: 14px;
    right: 14px;
    width: 42px;
    height: 42px;
    color: #515151;
}

.af-cart-modal {
    --af-blue: #14326e;
    --af-blue-mid: #47639a;
    --af-blue-light: #96afd7;
    --af-graphite: #262523;
    --af-gray: #515151;
    --af-light-gray: #909091;
    --af-white: #fefefe;
    width: 100%;
    color: var(--af-graphite);
    background: var(--af-white);
    font-family: Montserrat, Arial, sans-serif;
}

.af-cart-modal__header {
    padding: 30px 76px 22px 34px;
    border-bottom: 1px solid rgba(144, 144, 145, .22);
}

.af-cart-modal__title {
    margin: 0 0 8px;
    color: var(--af-graphite);
    font-size: 32px;
    font-weight: 760;
    line-height: 1.15;
}

.af-cart-modal__summary-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    color: var(--af-gray);
    font-size: 14px;
}

.af-cart-modal__summary-dot { color: var(--af-blue); }

.af-cart-modal__columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px 180px 155px 44px;
    gap: 16px;
    align-items: center;
    padding: 13px 34px;
    border-bottom: 1px solid rgba(144, 144, 145, .18);
    color: var(--af-gray);
    font-size: 12px;
    font-weight: 650;
}

.af-cart-modal__products {
    max-height: min(54vh, 570px);
    padding: 0 34px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.af-cart-modal__product {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px 180px 155px 44px;
    gap: 16px;
    align-items: center;
    min-height: 166px;
    padding: 20px 0;
    border-bottom: 1px solid rgba(144, 144, 145, .22);
}

.af-cart-modal__product.is-loading { opacity: .62; pointer-events: none; }

.af-cart-modal__product-main {
    min-width: 0;
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}

.af-cart-modal__image-wrap {
    width: 120px;
    height: 120px;
    border: 1px solid rgba(144, 144, 145, .22);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    overflow: hidden;
}

.af-cart-modal__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
}

.af-cart-modal__image-placeholder {
    color: var(--af-blue-light);
    font-size: 34px;
}

.af-cart-modal__product-info { min-width: 0; }
.af-cart-modal__sku { margin-bottom: 6px; color: var(--af-light-gray); font-size: 12px; }
.af-cart-modal__product-title { display: inline-block; color: var(--af-graphite); font-size: 15px; font-weight: 700; line-height: 1.28; text-decoration: none; }
.af-cart-modal__product-title:hover { color: var(--af-blue); text-decoration: none; }

.af-cart-modal__attributes {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    color: var(--af-gray);
    font-size: 11px;
    line-height: 1.35;
}

.af-cart-modal__attributes strong { font-weight: 550; }

.af-cart-modal__unit-price,
.af-cart-modal__row-total {
    font-size: 15px;
    line-height: 1.35;
}

.af-cart-modal__old-price {
    display: block;
    margin-bottom: 3px;
    color: var(--af-light-gray);
    text-decoration: line-through;
    font-size: 11px;
}

.af-cart-modal__row-total strong { color: var(--af-blue); font-size: 17px; font-weight: 750; }

.af-cart-modal__quantity {
    display: grid;
    grid-template-columns: 42px 54px 42px;
    width: max-content;
    border: 1px solid rgba(20, 50, 110, .34);
    border-radius: 7px;
    overflow: hidden;
}

.af-cart-modal__quantity-btn,
.af-cart-modal__quantity-input {
    width: 100%;
    height: 42px;
    border: 0;
    background: var(--af-white);
    color: var(--af-blue);
    text-align: center;
}

.af-cart-modal__quantity-btn { cursor: pointer; font-size: 12px; }
.af-cart-modal__quantity-btn + .af-cart-modal__quantity-input,
.af-cart-modal__quantity-input + .af-cart-modal__quantity-btn { border-left: 1px solid rgba(20, 50, 110, .26); }
.af-cart-modal__quantity-btn:hover:not(:disabled) { background: rgba(150, 175, 215, .16); }
.af-cart-modal__quantity-btn:disabled { color: rgba(144,144,145,.6); cursor: not-allowed; }
.af-cart-modal__quantity-input { appearance: textfield; color: var(--af-graphite); font-size: 14px; font-weight: 650; }
.af-cart-modal__quantity-input::-webkit-inner-spin-button,
.af-cart-modal__quantity-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

.af-cart-modal__unavailable { color: var(--af-light-gray); font-size: 11px; }

.af-cart-modal__delete {
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--af-light-gray);
    cursor: pointer;
    font-size: 18px;
}

.af-cart-modal__delete:hover { background: rgba(20, 50, 110, .07); color: var(--af-blue); }

.af-cart-modal__product-message {
    position: absolute;
    left: 138px;
    right: 44px;
    bottom: 5px;
    color: #a33;
    font-size: 10px;
}

.af-cart-modal__footer {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(420px, 1.2fr);
    gap: 36px;
    padding: 24px 34px 28px;
    background: rgba(150, 175, 215, .06);
}

.af-cart-modal__totals-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 5px 0;
    color: var(--af-gray);
    font-size: 12px;
}

.af-cart-modal__totals-row--grand {
    margin-top: 8px;
    padding-top: 13px;
    border-top: 1px dashed rgba(144, 144, 145, .40);
    color: var(--af-graphite);
    font-size: 18px;
    font-weight: 700;
}

.af-cart-modal__totals-row--grand strong { color: var(--af-blue); font-size: 22px; }

.af-cart-modal__actions { display: flex; flex-direction: column; justify-content: center; gap: 13px; }
.af-cart-modal__buttons { display: grid; grid-template-columns: 1fr 1.1fr; gap: 12px; }
.af-cart-modal__button { min-height: 50px; padding: 0 18px; border-radius: 7px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-size: 12px; font-weight: 700; cursor: pointer; }
.af-cart-modal__button--secondary { border: 1px solid var(--af-blue); background: var(--af-white); color: var(--af-blue); }
.af-cart-modal__button--primary { border: 1px solid var(--af-blue); background: var(--af-blue); color: var(--af-white); }
.af-cart-modal__button:hover { text-decoration: none; filter: brightness(.97); }


.af-cart-modal__empty { padding: 60px 30px; text-align: center; }
.af-cart-modal__empty-icon { margin-bottom: 16px; color: var(--af-blue); font-size: 44px; }
.af-cart-modal__empty-title { margin: 0 0 8px; color: var(--af-graphite); font-size: 24px; font-weight: 750; }
.af-cart-modal__empty-text { margin: 0 0 24px; color: var(--af-gray); font-size: 13px; }
.af-cart-modal__empty .af-cart-modal__button { min-width: 220px; }

@media (max-width: 900px) {
    #cart_popup.animated-modal { width: min(760px, calc(100vw - 20px)); }
    .af-cart-modal__columns { display: none; }
    .af-cart-modal__products { max-height: 62vh; padding: 0 22px; }
    .af-cart-modal__product { grid-template-columns: minmax(0, 1fr) auto; gap: 14px 18px; align-items: start; }
    .af-cart-modal__product-main { grid-column: 1 / -1; }
    .af-cart-modal__unit-price { grid-column: 1; }
    .af-cart-modal__quantity-wrap { grid-column: 1; }
    .af-cart-modal__row-total { grid-column: 2; grid-row: 2 / span 2; align-self: center; text-align: right; }
    .af-cart-modal__delete { position: absolute; top: 18px; right: 0; }
    .af-cart-modal__product-main { padding-right: 48px; }
    .af-cart-modal__footer { grid-template-columns: 1fr; gap: 18px; }
}

@media (max-width: 600px) {
    #cart_popup.animated-modal { width: calc(100vw - 12px); border-radius: 12px; }
    .af-cart-modal__header { padding: 22px 54px 18px 16px; }
    .af-cart-modal__title { font-size: 24px; }
    .af-cart-modal__summary-line { font-size: 11px; }
    .af-cart-modal__products { padding: 0 16px; max-height: 58vh; }
    .af-cart-modal__product { padding: 16px 0; }
    .af-cart-modal__product-main { grid-template-columns: 82px minmax(0,1fr); gap: 12px; }
    .af-cart-modal__image-wrap { width: 82px; height: 82px; }
    .af-cart-modal__sku { font-size: 10px; }
    .af-cart-modal__product-title { font-size: 13px; }
    .af-cart-modal__attributes { font-size: 9px; }
    .af-cart-modal__unit-price { font-size: 12px; }
    .af-cart-modal__quantity { grid-template-columns: 38px 48px 38px; }
    .af-cart-modal__quantity-btn, .af-cart-modal__quantity-input { height: 38px; }
    .af-cart-modal__row-total strong { font-size: 15px; }
    .af-cart-modal__footer { padding: 18px 16px 22px; }
    .af-cart-modal__buttons { grid-template-columns: 1fr; }
}
