.ds-cs-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;font-family:inherit}.ds-cs-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5)}.ds-cs-dialog{position:relative;z-index:1;width:min(55vw,1000px);max-height:82vh;background:#fff;border-radius:15px;box-shadow:0 24px 80px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden;color:#1d1d1f}.ds-cs-close{position:absolute;right:13px;top:9px;border:0;background:transparent;font-size:31px;line-height:1;color:#555;cursor:pointer;padding:4px 8px;z-index:3}.ds-cs-header{padding:28px 34px 18px}.ds-cs-header h2{margin:0 40px 7px 0;font-size:25px;line-height:1.2}.ds-cs-header p{margin:0;color:#666;font-size:14px}.ds-cs-list{padding:0 34px 8px;overflow:auto;min-height:0;display:flex;flex-direction:column;gap:10px}.ds-cs-card{display:flex;flex:0 0 auto;gap:16px;border:1px solid #e1e2e6;border-radius:12px;padding:10px;min-height:105px;box-sizing:border-box}.ds-cs-card-image{width:92px;height:92px;flex:0 0 92px;border-radius:8px;overflow:hidden;background:#f5f5f6}.ds-cs-card-image img{width:100%;height:100%;display:block;object-fit:cover}.ds-cs-card-body{min-width:0;flex:1;display:flex;flex-direction:column}.ds-cs-card-body h3{font-size:16px;line-height:1.25;margin:2px 0 4px}.ds-cs-card-body p{font-size:13px;line-height:1.4;color:#666;margin:0 0 8px}.ds-cs-card-notice{display:block;align-self:flex-start;max-width:100%;box-sizing:border-box;margin:4px 0 10px;padding:7px 10px;border:1px solid #8b00ff;border-left-width:4px;border-radius:7px;background:#f4eaff;color:#5d00ad;font-size:12px;font-weight:800;line-height:1.35;letter-spacing:.005em;overflow-wrap:anywhere}.ds-cs-card-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:14px} .ds-cs-card--category .ds-cs-card-bottom,.ds-cs-card--url .ds-cs-card-bottom{justify-content:flex-end}.ds-cs-price{font-size:18px;line-height:1.1;white-space:nowrap}.ds-cs-price del{font-size:12px;color:#888;margin-right:5px}.ds-cs-price ins{text-decoration:none;color:#673de6!important}.ds-cs-card-cta,.ds-cs-cart-button{border:0;border-radius:8px;background:#6b35d9;color:#fff;font-weight:700;cursor:pointer;padding:10px 14px;white-space:nowrap}.ds-cs-card-cta:disabled{opacity:.6;cursor:default}.ds-cs-footer{padding:14px 34px 24px;border-top:1px solid #eee;display:flex;justify-content:flex-end}.ds-cs-cart-button{font-size:14px;padding:12px 18px}.ds-cs-card.is-added .ds-cs-card-cta{background:#555}.ds-cs-error{font-size:12px;color:#b42318;margin-top:5px}.ds-cs-busy{opacity:.65;pointer-events:none}.ds-cs-modal.ds-cs-preview .ds-cs-card-cta{opacity:.6}@media(max-width:767px){.ds-cs-list.ds-cs-list--scroll-mobile{max-height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}.ds-cs-modal{padding:12px}.ds-cs-dialog{width:95vw;max-height:90vh;border-radius:12px}.ds-cs-header{padding:23px 20px 14px}.ds-cs-header h2{font-size:21px}.ds-cs-list{padding:0 20px 8px;gap:8px}.ds-cs-card{gap:11px;padding:8px;min-height:0}.ds-cs-card-image{width:70px;height:70px;flex-basis:70px}.ds-cs-card-body h3{font-size:14px}.ds-cs-card-body p{font-size:12px}.ds-cs-price{font-size:16px}.ds-cs-card-cta{padding:8px 10px;font-size:11px}.ds-cs-footer{padding:12px 20px 18px}.ds-cs-cart-button{width:100%}}

/* =========================================================
   DREAMSETUP — popup rekomendacji w jasnym motywie sklepu
   ========================================================= */
.ds-cs-modal {
    font-family: "Bai Jamjuree", sans-serif;
    color: #202124;
}
.ds-cs-overlay {
    background: rgba(25, 20, 32, .48);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}
.ds-cs-dialog {
    width: min(900px, 92vw);
    max-height: 86vh;
    background: #fff;
    color: #202124;
    border: 1px solid #e9e2f2;
    border-radius: 16px;
    box-shadow: 0 24px 75px rgba(31, 20, 45, .22);
}
.ds-cs-close {
    top: 12px;
    right: 14px;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f5f1fa;
    color: #4a4352;
    font-size: 28px;
    transition: background-color .18s ease, color .18s ease;
}
.ds-cs-close:hover {
    background: #eee1ff;
    color: #7600db;
}
.ds-cs-header {
    padding: 30px 34px 20px;
    border-bottom: 1px solid #eeeaf3;
}
.ds-cs-header h2 {
    color: #202124;
    font-family: inherit;
    font-weight: 700;
    letter-spacing: -.025em;
}
.ds-cs-header p {
    color: #66616e;
    font-family: inherit;
    line-height: 1.55;
}
.ds-cs-list {
    padding-top: 18px;
    padding-bottom: 18px;
    scrollbar-color: #b98af2 #f3eff8;
}
.ds-cs-card {
    background: #fff;
    border: 1px solid #e7e2ed;
    border-radius: 12px;
    padding: 12px;
    transition: border-color .18s ease, background-color .18s ease;
}
.ds-cs-card:hover {
    border-color: #d2b2fa;
    background: #fdfbff;
}
.ds-cs-card-image {
    background: #f7f5f9;
    border: 1px solid #eeeaf3;
}
.ds-cs-card-body h3 {
    color: #202124;
    font-family: inherit;
    font-weight: 700;
}
.ds-cs-card-body p {
    color: #66616e;
    font-family: inherit;
}
.ds-cs-price {
    color: #6f00cc;
    font-weight: 700;
}
.ds-cs-price del { color: #817b88; }
.ds-cs-price ins { color: #7600db !important; }
.ds-cs-card-cta,
.ds-cs-cart-button {
    background: #8b00ff;
    color: #fff;
    border: 1px solid #8b00ff;
    border-radius: 9px;
    font-family: inherit;
    font-weight: 700;
    letter-spacing: .01em;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.ds-cs-card-cta:hover,
.ds-cs-cart-button:hover {
    background: #7600db;
    border-color: #7600db;
    color: #fff;
}
.ds-cs-card-cta:active,
.ds-cs-cart-button:active { transform: translateY(1px); }
.ds-cs-card-cta:focus-visible,
.ds-cs-cart-button:focus-visible,
.ds-cs-close:focus-visible {
    outline: 2px solid #8b00ff;
    outline-offset: 3px;
}
.ds-cs-card-cta:disabled { background: #cbb3e3; border-color: #cbb3e3; color: #fff; }
.ds-cs-card.is-added .ds-cs-card-cta { background: #5f5968; border-color: #5f5968; }
.ds-cs-footer {
    background: #fff;
    border-top: 1px solid #eeeaf3;
    padding: 16px 34px 24px;
}
@media (max-width: 767px) {
    .ds-cs-dialog { width: 100%; max-height: 92vh; border-radius: 14px; }
    .ds-cs-header { padding: 24px 18px 16px; }
    .ds-cs-header h2 { font-size: 21px; }
    .ds-cs-list { padding: 14px 14px 16px; }
    .ds-cs-card { padding: 9px; }
    .ds-cs-card-bottom {
        align-items: flex-end;
        gap: 8px;
        flex-wrap: nowrap;
    }
    .ds-cs-price {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        align-items: flex-start;
        min-width: 0;
        gap: 3px;
        white-space: normal;
        line-height: 1.15;
    }
    .ds-cs-price del {
        display: block;
        margin-right: 0;
        font-size: 11px;
        line-height: 1.15;
    }
    .ds-cs-price ins {
        display: block;
        white-space: nowrap;
        line-height: 1.15;
    }
    .ds-cs-card-cta {
        flex: 0 0 auto;
        align-self: flex-end;
        padding: 8px 10px;
        font-size: 11px;
    }
    .ds-cs-footer { padding: 12px 16px 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .ds-cs-close,
    .ds-cs-card,
    .ds-cs-card-cta,
    .ds-cs-cart-button { transition: none; }
}

/* Wyróżniona informacja na kafelku produktu */
@media (max-width: 767px) { .ds-cs-card-notice { margin: 4px 0 8px; padding: 6px 8px; font-size: 11px; line-height: 1.35; } }


/* Omnibus in Dreamsetup product suggestion cards */
.ds-cs-price .ds-omnibus-price-message {
    display: block !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    color: #9296a0 !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
}
.ds-cs-price .ds-omnibus-price-message *,
.ds-cs-price .ds-omnibus-price-message strong,
.ds-cs-price .ds-omnibus-price-message b {
    color: #9296a0 !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}
