   *,
   *::before,
   *::after {
       margin: 0;
       padding: 0;
   }

   .summary-panel button::before,
   .summary-panel .btn-promo::before,
   .summary-panel .btn-checkout::before {
       display: none;
   }

   :root {
       --rose: #ab7870;
       --rose-lt: #c9907e;
       --rose-bg: #f5ede9;
       --dark: #1a1a1a;
       --mid: #777;
       --border: #ecddd7;
       --gold: #c9a84c;
       --bg: #faf7f5;
   }

   body {
       font-size: 14px;
       line-height: 1.6;
   }

   /* ── ALERT ── */
   .alert-danger {
       background: #fdf0ee;
       border: 1px solid #f5c6c0;
       color: #a94442;
       padding: 12px 20px;
       border-radius: 8px;
       margin: 16px 20px;
       font-size: 13px;
   }

   /* ── PAGE ── */
   .cart-page {
       max-width: 1050px;
       margin: 40px auto;
       padding: 0 20px 80px;
   }

   .cart-page-title {
       font-size: 28px;
       font-weight: 600;
       margin-bottom: 28px;
       color: var(--dark);
   }

   .cart-page-title span {
       font-size: 14px;
       font-weight: 400;
       color: var(--mid);
       margin-left: 10px;

   }

   .cart-layout {
       display: grid;
       grid-template-columns: 1fr 320px;
       gap: 28px;
       align-items: start;
   }

   .like-cart-layout {
       display: grid;
       grid-template-columns: 1fr 150px;
       gap: 28px;
       align-items: start;
   }

   /* ── LEFT: CART ITEMS ── */
   .cart-panel {
       background: #fff;
       border-radius: 16px;
       border: 1px solid var(--border);
       overflow: hidden;
   }

   .cart-item {
       display: flex;
       align-items: center;
       gap: 16px;
       padding: 20px 24px;
       border-bottom: 1px solid var(--border);
       transition: background .2s;
   }

   .cart-item:last-child {
       border-bottom: none;
   }

   .cart-item:hover {
       background: #fdfaf9;
   }

   .cart-item-img {
       width: 90px;
       height: 90px;
       border-radius: 12px;
       overflow: hidden;
       flex-shrink: 0;
       background: var(--rose-bg);
   }

   .cart-item-img img {
       width: 100%;
       height: 100%;
       object-fit: cover;
   }

   .cart-item-info {
       flex: 1;
       display: flex;
       flex-direction: column;
       gap: 4px;
   }

   .cart-item-category {
       font-size: 11px;
       color: var(--mid);
       text-transform: uppercase;
       letter-spacing: .06em;
   }

   .cart-item-name {
       font-size: 15px;
       font-weight: 600;
       color: var(--dark);
   }

   .cart-item-meta {
       font-size: 12px;
       color: var(--mid);
   }

   .cart-item-qty {
       display: flex;
       align-items: center;
       justify-content: center;
       width: 36px;
       height: 36px;
       border: 1.5px solid var(--border);
       border-radius: 8px;
       font-size: 14px;
       font-weight: 600;
       color: var(--dark);
       flex-shrink: 0;
   }

   .cart-item-price {
       text-align: right;
       flex-shrink: 0;
   }

   .price-sale {
       font-size: 15px;
       font-weight: 600;
       color: var(--rose);
       display: block;
   }

   .price-orig {
       font-size: 12px;
       color: #bbb;
       text-decoration: line-through;
       display: block;
   }

   .price-regular {
       font-size: 15px;
       font-weight: 600;
       color: var(--dark);
       display: block;
   }

   .btn-remove {
       all: unset;
       cursor: pointer;
       color: #ccc;
       font-size: 16px;
       transition: color .2s;
       flex-shrink: 0;
       line-height: 1;
       padding: 4px;
       position: static;
       overflow: visible;
   }

   .btn-remove::before {
       display: none;
   }

   .btn-remove:hover {
       color: var(--rose);
       background: none;
   }

   .back-link {
       display: inline-flex;
       align-items: center;
       gap: 6px;
       padding: 16px 24px;
       font-size: 13px;
       color: var(--mid);
       text-decoration: none;
       transition: color .2s;
   }

   .back-link:hover {
       color: var(--rose);
   }

   /* ── RIGHT: SUMMARY ── */
   .summary-panel {
       background: #fff;
       border-radius: 16px;
       border: 1px solid var(--border);
       padding: 28px;
       display: flex;
       flex-direction: column;
       gap: 16px;
       position: sticky;
       top: 20px;
   }

   .summary-panel h2 {
       font-size: 20px;
       font-weight: 600;
       color: var(--dark);
   }

   .summary-row {
       display: flex;
       justify-content: space-between;
       font-size: 14px;
   }

   .summary-row span:first-child {
       color: var(--mid);
   }

   .summary-row span:last-child {
       font-weight: 500;
       color: var(--dark);
   }

   .summary-row.total-row {
       font-size: 16px;
       font-weight: 700;
       border-top: 1px solid var(--border);
       padding-top: 14px;
   }

   .summary-divider {
       border: none;
       border-top: 1px dashed var(--border);
   }

   /* Promo */
   .promo-label {
       font-size: 12px;
       font-weight: 600;
       color: var(--dark);
       letter-spacing: .05em;
       text-transform: uppercase;
   }

   .promo-row {
       display: flex;
       gap: 8px;
   }

   .promo-row input {
       flex: 1;
       padding: 10px 12px;
       border: 1.5px solid var(--border);
       border-radius: 8px;

       font-size: 12px;
       outline: none;
       color: var(--dark);
       transition: border-color .2s;
   }

   .promo-row input:focus {
       border-color: var(--rose);
   }

   .promo-row input::placeholder {
       color: #ccc;
   }

   .btn-promo {
       all: unset;
       padding: 10px 16px;
       background: var(--rose);
       color: #fff;
       border-radius: 8px;
       font-size: 12px;
       font-weight: 600;
       cursor: pointer;
       transition: background .2s;
       white-space: nowrap;
   }

   .btn-promo:hover {
       background: black;
   }

   /* Checkout */
   .btn-checkout {
       all: unset;
       display: block;
       width: 90%;
       text-align: center;
       padding: 14px;
       background: var(--rose);
       color: #fff;
       border-radius: 10px;
       font-size: 15px;
       font-weight: 600;
       cursor: pointer;
       letter-spacing: .03em;
       transition: background .2s, transform .1s;
   }

   .btn-checkout:hover {
       background: black;
   }

   .btn-checkout:active {
       transform: scale(.99);
   }

   /* ── COMPLETE ORDER POPUP ── */
   .popup-overlay {
       display: none;
       position: fixed;
       inset: 0;
       background: rgba(0, 0, 0, .45);
       z-index: 1000;
       backdrop-filter: blur(3px);
   }

   .popup-overlay.active {
       display: block;
   }

   .popup-form {
       display: none;
       position: fixed;
       top: 50%;
       left: 50%;
       transform: translate(-50%, -50%);
       background: #fff;
       border-radius: 20px;
       padding: 36px;
       width: 90%;
       max-width: 520px;
       z-index: 1001;
       box-shadow: 0 20px 60px rgba(0, 0, 0, .15);
   }

   .popup-form.active {
       display: block;
   }

   .popup-title {
       font-size: 22px;
       font-weight: 600;
       color: var(--dark);
       margin-bottom: 24px;
   }

   .close-button {
       position: absolute;
       top: 18px;
       right: 22px;
       font-size: 22px;
       cursor: pointer;
       color: var(--mid);
       transition: color .2s;
       line-height: 1;
   }

   .close-button:hover {
       color: var(--rose);
   }

   .order-form {
       display: grid;
       grid-template-columns: 1fr 1fr;
       gap: 12px;
   }

   .order-form .full {
       grid-column: 1 / -1;
   }

   .order-form input,
   .order-form textarea,
   .order-form select {
       width: 100%;
       padding: 11px 14px;
       border: 1.5px solid var(--border);
       border-radius: 8px;

       font-size: 13px;
       outline: none;
       color: var(--dark);
       transition: border-color .2s;
       background: #fff;
   }

   .order-form input:focus,
   .order-form textarea:focus,
   .order-form select:focus {
       border-color: var(--rose);
   }

   .order-form input::placeholder,
   .order-form textarea::placeholder,
   .order-form select::placeholder {
       color: #bbb;
   }

   .order-form textarea {
       resize: vertical;
       min-height: 80px;
   }

   .btn-order {
       all: unset;
       display: block;
       width: 100%;
       text-align: center;
       padding: 13px;
       margin-top: 4px;
       background: var(--rose);
       color: #fff;
       border-radius: 10px;
       font-size: 15px;
       font-weight: 600;
       cursor: pointer;
       letter-spacing: .03em;
       transition: background .2s, transform .1s;
   }

   .btn-order:hover {
       background: var(--rose-lt);
   }

   .btn-order:active {
       transform: scale(.99);
   }

   /* Empty cart */
   .cart-empty {
       text-align: center;
       padding: 60px 20px;
       color: #bbb;
   }

   .cart-empty svg {
       display: block;
       margin: 0 auto 16px;
   }

   .cart-empty p {
       font-size: 15px;
   }

   .toast-discount {
       position: fixed;
       bottom: 30px;
       right: 30px;
       width: fit-content;
       white-space: nowrap;
       color: #fff;
       padding: 12px 24px;
       border-radius: 8px;
       font-size: 14px;
       z-index: 9999;
       opacity: 0;
       visibility: hidden;
       transform: translateY(10px);
       transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
   }

   .toast-discount.success {
       background: linear-gradient(135deg, #2d7a4f 0%, #4aab72 100%);
   }

   .toast-discount.error {
       background: linear-gradient(135deg, #a82d2d 0%, #d94f4f 100%);
   }

   .toast-discount.show {
       opacity: 1;
       visibility: visible;
       transform: translateY(0);
   }

   .promo-success {
       display: flex;
       align-items: center;
       justify-content: space-between;
       padding: 10px 14px;
       background: linear-gradient(135deg, #2d7a4f 0%, #4aab72 100%);
       border-radius: 8px;
       margin-top: 8px;
   }

   .promo-success-code {
       color: #fff;
       font-size: 14px;
       font-weight: 600;
       letter-spacing: 0.5px;
   }

   .promo-success-code::before {
       content: '✓ ';
   }

   .btn-promo-remove {
       background: transparent;
       border: 1px solid rgba(255, 255, 255, 0.6);
       color: #fff;
       font-size: 12px;
       padding: 4px 10px;
       border-radius: 6px;
       cursor: pointer;
       transition: background 0.2s ease;
   }

   .btn-promo-remove:hover {
       background: rgba(255, 255, 255, 0.15);
   }

   /* ── RESPONSIVE ── */
   @media (max-width: 768px) {
       .cart-layout {
           grid-template-columns: 1fr;
       }

       .summary-panel {
           position: static;
       }

       .cart-page-title {
           font-size: 22px;
       }

       .order-form {
           grid-template-columns: 1fr;
       }

       .order-form .full {
           grid-column: 1;
       }
   }

   @media (max-width: 480px) {
       .cart-item {
           padding: 16px;
           gap: 12px;
       }

       .cart-item-img {
           width: 70px;
           height: 70px;
       }
   }