:root {
    --gasmaster-accent: #1d5f87;
    --gasmaster-accent-strong: #124261;
    --gasmaster-border: #d7e0ea;
    --gasmaster-bg: #f4f8fc;
    --gasmaster-danger: #d63638;
    --gasmaster-success: #1f8f5f;
}

.gasmaster-toast {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    min-width: 240px;
    max-width: 420px;
    padding: 12px 14px;
    border-radius: 12px;
    color: #fff;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.gasmaster-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.gasmaster-toast.is-success {
    background: linear-gradient(120deg, #20895d, #27a96f);
}

.gasmaster-toast.is-error {
    background: linear-gradient(120deg, #b02b2d, #d13f41);
}

.gasmaster-field-error {
    border-color: var(--gasmaster-danger) !important;
    box-shadow: 0 0 0 1px var(--gasmaster-danger) !important;
}

.gasmaster-mini-cart-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.gasmaster-mini-cart-icon {
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--gasmaster-bg);
    border: 1px solid var(--gasmaster-border);
}

.gasmaster-mini-cart-link .active {
    min-width: 22px;
    height: 22px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--gasmaster-accent);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.card_header .box_hovered_card {
    background: #fff;
    border: 1px solid var(--gasmaster-border);
    border-radius: 14px;
    box-shadow: 0 14px 24px rgba(24, 52, 74, 0.12);
    padding: 14px;
}

.card_header .result_item {
    display: flex;
    gap: 10px;
    margin-bottom: 12px;
}

.card_header .result_item img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid var(--gasmaster-border);
}

.card_header .sum {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--gasmaster-border);
}

.card_header .sum .btn a {
    display: inline-block;
    padding: 8px 12px;
    border-radius: 10px;
    text-decoration: none;
    color: #fff;
    background: linear-gradient(120deg, var(--gasmaster-accent), #2a8bc3);
}

.plus,
.minus {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    border: 1px solid var(--gasmaster-border);
    background: #fff;
    cursor: pointer;
}

.plus:hover,
.minus:hover {
    border-color: var(--gasmaster-accent);
    color: var(--gasmaster-accent);
}

.coll {
    min-width: 64px;
    border: 1px solid var(--gasmaster-border);
    border-radius: 8px;
    height: 34px;
    padding: 0 10px;
}

.drop-cart {
    background: #fff;
    border: 1px solid var(--gasmaster-border);
    border-radius: 14px;
    box-shadow: 0 12px 24px rgba(17, 45, 66, 0.12);
    padding: 12px;
}

.drop-cart .drop-cart-table {
    max-height: 320px;
    overflow-y: auto;
}

.drop-cart .drop-cart-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 10px;
    margin-top: 10px;
    border-top: 1px solid var(--gasmaster-border);
}

.drop-cart .drop-cart-navigation .btn {
    text-decoration: none;
    background: var(--gasmaster-accent);
    color: #fff;
    padding: 8px 12px;
    border-radius: 10px;
}

@media (max-width: 767px) {
    .gasmaster-toast {
        right: 12px;
        left: 12px;
        min-width: 0;
    }

    .drop-cart .drop-cart-navigation {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}
