body.save-cart-open { overflow: hidden; }
.save-cart-dialog {
   width: calc(100% - 32px);
   max-width: 560px;
   max-height: calc(100vh - 32px);
   max-height: calc(100dvh - 32px);
   box-sizing: border-box;
   padding: 0;
   border: 0;
   border-radius: 18px;
   color: #1c2430;
   background: #fff;
   box-shadow: 0 24px 90px rgba(16, 28, 43, .28);
   overflow: auto;
}
.save-cart-dialog:not([open]) { display: none; }
.save-cart-dialog::backdrop { background: rgba(19, 30, 45, .62); backdrop-filter: blur(4px); }
.save-cart-close {
   position: absolute;
   top: 14px;
   right: 14px;
   width: 40px;
   height: 40px;
   border: 1px solid #d9dee5;
   border-radius: 50%;
   background: #fff;
   color: #233c59;
   font-size: 26px;
   cursor: pointer;
}
.save-cart-content { padding: 38px; text-align: left; font: 16px/1.5 Arial, sans-serif; color: #1c2430; }
.save-cart-content * { box-sizing: border-box; }
.save-cart-heading { padding-right: 24px; }
.save-cart-eyebrow { color: #596e79; font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.save-cart-content h1 { margin: 8px 0 10px; font-size: clamp(28px, 5vw, 34px); line-height: 1.15; color: #233c59; font-weight: 700; }
.save-cart-content p { margin: 0; font-size: 14px; line-height: 1.6; color: #606b78; }
.save-cart-note { margin: 24px 0; padding: 16px 18px; background: #f1f5f6; border-left: 3px solid #759398; border-radius: 0 8px 8px 0; }
.save-cart-note strong { display: block; margin-bottom: 4px; font-size: 14px; color: #233c59; }
.save-cart-content a { color: #233c59; text-decoration: underline; }
.save-cart-content label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 700; }
.save-cart-required { color: #606b78; font-size: 12px; font-weight: 400; }
.save-cart-content input[type="text"], .save-cart-content textarea {
   display: block; width: 100%; margin: 0; padding: 12px 14px; border: 1px solid #bcc6cf; border-radius: 8px; background: #fff; color: #1c2430; font: 16px/1.5 Arial, sans-serif;
}
.save-cart-content textarea { resize: vertical; min-height: 104px; }
.save-cart-content input::placeholder, .save-cart-content textarea::placeholder { color: #737d87; opacity: 1; }
.save-cart-content :focus-visible, .save-cart-close:focus-visible { outline: 3px solid #759398; outline-offset: 3px; }
.save-cart-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-top: 20px; }
#save-cart-count { color: #606b78; font-size: 12px; }
.save-cart-content .save-cart-error { color: #9d292d; margin-top: 6px; }
.save-cart-content .save-cart-reassurance { margin-top: 18px; font-size: 12px; }
.save-cart-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 24px; padding-top: 22px; border-top: 1px solid #e3e7eb; }
.save-cart-actions button { min-height: 46px; padding: 11px 24px; border-radius: 8px; font: 700 14px/1.5 Arial, sans-serif; cursor: pointer; }
.save-cart-primary { background: #233c59; color: #fff; border: 1px solid #233c59; }
.save-cart-primary:hover { background: #172c44; }
.save-cart-primary:disabled { opacity: .65; cursor: wait; }
.save-cart-secondary { background: #fff; color: #233c59; border: 1px solid #cbd3dc; }
.save-cart-secondary:hover, .save-cart-close:hover { background: #f1f5f6; }
.save-cart-content .save-cart-admin { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0 0; padding: 14px; background: #f7f7f8; border-radius: 8px; }
.save-cart-admin input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: #233c59; }
.save-cart-admin small { display: block; margin-top: 4px; color: #606b78; font-weight: 400; }
.save-cart-login h2 { font-size: 18px; color: #233c59; margin: 0 0 8px; }
.save-cart-page { max-width: 560px; margin: 40px auto; background: #fff; border: 1px solid #d9dee5; border-radius: 18px; box-shadow: 0 12px 40px rgba(16, 28, 43, .08); }
@media (max-width: 540px) {
   .save-cart-content { padding: 30px 22px 22px; }
   .save-cart-heading { padding-right: 28px; }
   .save-cart-actions button { flex: 1; padding: 11px 12px; }
   .save-cart-page { margin: 20px 16px; }
}
