.dswl-wishlist { --dswl-blue:#174a82; --dswl-gold:#fbb102; color:#212529; container:dswl-list / inline-size; }
.dswl-add-to-wishlist { margin:12px 0; }
/* Native controls keep their own contrast and geometry inside legacy theme cards. */
body .dswl-add-to-wishlist[hidden] { display:none!important; }
body .dswl-add-to-wishlist.dswl-context-loop .dswl-list-choice { flex-direction:column;align-items:stretch;gap:4px;margin:0 0 8px; }
body .dswl-add-to-wishlist.dswl-context-loop .dswl-list-choice select { width:100%;min-width:0;max-width:100%; }
body .dswl-add-to-wishlist[data-dswl-placement="gallery"][data-dswl-gallery-ready="1"] { display:block;position:relative!important;inset:auto!important;float:none!important;clear:both;width:100%!important;height:auto!important;max-width:100%;margin:20px 0 0!important;padding:16px 0 0;border-top:1px solid #dbe5ee;background:transparent!important;overflow:visible!important; }
body .dswl-add-to-wishlist[data-dswl-context]:is(.dswl-context-loop,.products .dswl-add-to-wishlist,.product__hover .dswl-add-to-wishlist) { position:relative!important;inset:auto!important;float:none!important;width:auto!important;height:auto!important;max-width:100%;margin:0!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important; }
body .dswl-add-to-wishlist[data-dswl-context]:is(.dswl-context-loop,.products .dswl-add-to-wishlist,.product__hover .dswl-add-to-wishlist) .dswl-button-row { display:flex!important;align-items:center;justify-content:center;position:static!important;width:auto!important;height:auto!important;min-width:42px;padding:0!important;margin:0!important;background:transparent!important;overflow:visible!important; }
body .dswl-add-to-wishlist[data-dswl-context]:is(.dswl-context-loop,.products .dswl-add-to-wishlist,.product__hover .dswl-add-to-wishlist) a.dswl-button[data-dswl-action] { box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;position:relative!important;inset:auto!important;float:none!important;flex:0 0 42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;padding:9px!important;margin:0!important;border:1px solid #c6d8ea!important;border-radius:50%!important;background:#fff!important;background-image:none!important;color:#174a82!important;line-height:1!important;font-size:0!important;box-shadow:none!important;overflow:visible!important;opacity:1;transform:none!important;text-indent:0!important;text-decoration:none!important; }
body .dswl-add-to-wishlist[data-dswl-context]:is(.dswl-context-loop,.products .dswl-add-to-wishlist,.product__hover .dswl-add-to-wishlist) a.dswl-button[data-dswl-action]:hover { background:#edf5fd!important;border-color:#174a82!important;color:#174a82!important;box-shadow:0 3px 10px #174a821c!important; }
body .dswl-add-to-wishlist[data-dswl-context]:is(.dswl-context-loop,.products .dswl-add-to-wishlist,.product__hover .dswl-add-to-wishlist) a.dswl-button[data-dswl-action].dswl-is-saved { background:#fff8e8!important;border-color:#d8b34e!important;color:#a77800!important; }
body .dswl-add-to-wishlist[data-dswl-context]:is(.dswl-context-loop,.products .dswl-add-to-wishlist,.product__hover .dswl-add-to-wishlist) a.dswl-button[data-dswl-action].dswl-is-saved:hover { background:#fff0c6!important;color:#8b6300!important; }
body .dswl-add-to-wishlist[data-dswl-context]:is(.dswl-context-loop,.products .dswl-add-to-wishlist,.product__hover .dswl-add-to-wishlist) a.dswl-button[data-dswl-action] :is(.dswl-heart,.dswl-custom-icon) { display:block!important;position:static!important;flex:0 0 22px!important;width:22px!important;min-width:22px!important;height:22px!important;margin:0!important;padding:0!important;color:inherit!important;background:transparent!important;opacity:1!important;transform:none!important; }
body .dswl-add-to-wishlist[data-dswl-context]:is(.dswl-context-loop,.products .dswl-add-to-wishlist,.product__hover .dswl-add-to-wishlist) a.dswl-button[data-dswl-action] svg path { stroke:currentColor!important; }
body .dswl-add-to-wishlist[data-dswl-context]:is(.dswl-context-loop,.products .dswl-add-to-wishlist,.product__hover .dswl-add-to-wishlist) a.dswl-button[data-dswl-action]:not(.dswl-is-saved) svg path { fill:none!important; }
body .dswl-add-to-wishlist[data-dswl-context]:is(.dswl-context-loop,.products .dswl-add-to-wishlist,.product__hover .dswl-add-to-wishlist) a.dswl-button[data-dswl-action].dswl-is-saved svg path { fill:currentColor!important; }
body .dswl-add-to-wishlist[data-dswl-context]:is(.dswl-context-loop,.products .dswl-add-to-wishlist,.product__hover .dswl-add-to-wishlist) :is(.dswl-button,.dswl-button-row)::before,
body .dswl-add-to-wishlist[data-dswl-context]:is(.dswl-context-loop,.products .dswl-add-to-wishlist,.product__hover .dswl-add-to-wishlist) :is(.dswl-button,.dswl-button-row)::after { content:none!important;display:none!important; }
body .dswl-add-to-wishlist[data-dswl-context]:is(.dswl-context-loop,.products .dswl-add-to-wishlist,.product__hover .dswl-add-to-wishlist) .dswl-label { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important; }
/* Theme cart-link decoration must not paint another rounded surface around the CTA. */
body .dswl-wishlist table.wishlist_table td.product-add-to-cart { background:transparent!important;background-image:none!important;box-shadow:none!important; }
body .dswl-wishlist table.wishlist_table td.product-add-to-cart a.dswl-cart-link,
body .dswl-wishlist table.wishlist_table td.product-add-to-cart a.dswl-cart-link:hover { display:inline-flex;align-items:center;justify-content:center;width:auto!important;max-width:100%;min-height:40px;padding:10px 18px!important;margin:0!important;border:0!important;border-radius:12px!important;background:#2b5d8f!important;background-image:none!important;color:#fff!important;font-size:14px;line-height:1.3;text-decoration:none!important;box-shadow:0 5px 14px #193c621a!important; }
body .dswl-wishlist table.wishlist_table td.product-add-to-cart a.dswl-cart-link:hover { background:#174a82!important; }
body .dswl-wishlist table.wishlist_table td.product-add-to-cart a.dswl-cart-link :is(.product__add-to-cart,.product__add-to-cart-text,.product__add-to-cart-icon) { width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;background-image:none!important;box-shadow:none!important;color:inherit!important;transform:none!important; }
body .dswl-wishlist table.wishlist_table td.product-add-to-cart a.dswl-cart-link::before,
body .dswl-wishlist table.wishlist_table td.product-add-to-cart a.dswl-cart-link::after,
body .dswl-wishlist table.wishlist_table td.product-add-to-cart a.dswl-cart-link .product__add-to-cart::before,
body .dswl-wishlist table.wishlist_table td.product-add-to-cart a.dswl-cart-link .product__add-to-cart::after { content:none!important;display:none!important; }
.dswl-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; color:#174a82; font-weight:600; text-decoration:none; line-height:1.4; }
.dswl-button:hover { color:#005b93; }
.dswl-button .dswl-heart { display:inline-block; flex:0 0 22px; width:22px; height:22px; vertical-align:middle; }
.dswl-button .dswl-custom-icon { object-fit:contain; }
.dswl-button.button { min-height:42px; padding:10px 17px; border-radius:999px; border:1px solid #174a82; background:#174a82; color:#fff; }
.dswl-button.button:hover { background:#0f3965; color:#fff; }
.dswl-is-saved .dswl-heart { color:#c18c00; }
.dswl-loading { opacity:.6; cursor:wait; pointer-events:none; }
body .dswl-wishlist table.wishlist_table td.product-add-to-cart a.dswl-cart-link.dswl-cart-pending { display:inline-flex!important;gap:9px!important;cursor:wait!important;pointer-events:none!important;opacity:.82!important; }
body .dswl-wishlist .dswl-cart-spinner { display:inline-block!important;box-sizing:border-box!important;flex:0 0 17px!important;width:17px!important;height:17px!important;margin:0!important;padding:0!important;border:2px solid #ffffff65!important;border-top-color:#fff!important;border-radius:50%!important;background:transparent!important;animation:dswl-cart-spin .75s linear infinite!important; }
@keyframes dswl-cart-spin { to { transform:rotate(360deg); } }
body .dswl-wishlist .dswl-cart-feedback { display:block;flex-basis:100%;margin:7px 0 0;font-size:13px;line-height:1.45;color:#65758a; }
body .dswl-wishlist .dswl-cart-feedback--success { color:#14704b; }
body .dswl-wishlist .dswl-cart-feedback--error { color:#a53434; }
body .dswl-wishlist .dswl-cart-feedback[hidden] { display:none!important; }
body .dswl-wishlist table.wishlist_table td.product-add-to-cart a.dswl-cart-added { display:inline-flex!important;color:#fff!important;text-decoration:none!important; }
body .dswl-wishlist table.wishlist_table td.product-add-to-cart a.dswl-cart-added::after { content:none!important;display:none!important; }
@media(prefers-reduced-motion:reduce) { body .dswl-wishlist .dswl-cart-spinner { animation:none!important; } }
.dswl-wishlist .wishlist-title { display:flex; align-items:center; gap:12px; }
.dswl-wishlist .wishlist-title h2 { margin:0; }
.dswl-wishlist .hidden-title-form { display:none; align-items:center; gap:10px; margin:16px 0; }
.dswl-wishlist .hidden-title-form input { flex:1; min-width:0; padding:10px; }
.dswl-wishlist .hide-title-form { background:transparent; border:0; padding:10px; color:#526273; text-decoration:underline; }
.dswl-wishlist .wishlist-title-container { margin-bottom:24px; }
.dswl-wishlist table { width:100%; }
.dswl-wishlist .product-thumbnail img { max-width:86px; height:auto; }
.dswl-wishlist .product-quantity .qty { width:76px; min-height:40px; padding:6px; border:1px solid #dbe5ee; border-radius:8px; text-align:center; }
.dswl-wishlist .wishlist-empty { padding:28px!important; text-align:center!important; }
.dswl-list-controls { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:24px 0; }
.dswl-list-controls label { font-weight:600; }
.dswl-list-controls select { width:auto; min-height:44px; max-width:100%; padding:8px 34px 8px 12px; border:1px solid #dbe5ee; border-radius:9px; }
.dswl-wishlist .dswl-save,.dswl-wishlist .save-title-form { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:10px 20px; border:0; border-radius:999px; background:#fbb102; color:#18344b; font-weight:700; }
.dswl-wishlist .dswl-save:hover,.dswl-wishlist .save-title-form:hover { background:#e59c00; color:#18344b; }
.dswl-share { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:18px; margin:20px 0; border:1px solid #dbe5ee; border-radius:14px; background:#f4f8fb; }
.dswl-share strong { flex-basis:100%; }
.dswl-share input { flex:1; min-width:180px; padding:10px; border:1px solid #dbe5ee; border-radius:8px; background:#fff; color:#374b5f; }
.dswl-share .button { border-radius:999px; background:#174a82; color:#fff; }
.dswl-share-links { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.dswl-social { display:inline-flex; align-items:center; justify-content:center; min-width:38px; min-height:38px; padding:7px; background:#174a82; color:#fff; font-weight:700; border-radius:50%; text-decoration:none; }
.dswl-social:hover { background:#0f3965; color:#fff; }
.dswl-social img { width:24px; height:24px; object-fit:contain; }
.dswl-wishlist .dswl-cart-style-link { background:transparent!important; border:0!important; box-shadow:none!important; color:#174a82!important; padding:4px 0!important; }
.dswl-share[hidden],.dswl-share-private[hidden],.dswl-notice[hidden] { display:none!important; }
.dswl-notice { margin:14px 0; padding:12px 16px; background:#edf7f1; border:1px solid #b8dcc7; border-radius:10px; color:#21563b; }
.dswl-notice-error { color:#8b2c2c; background:#fff0ef; border-color:#efc9c7; }
.dswl-notice-floating { position:fixed; z-index:99999; bottom:24px; right:24px; max-width:min(420px,calc(100vw - 32px)); box-shadow:0 8px 24px #14385b26; }
.dswl-guest-notice { position:fixed; z-index:99999; right:16px; bottom:16px; display:grid; gap:7px; box-sizing:border-box; max-width:min(420px,calc(100vw - 32px)); padding:13px 16px; border:1px solid #cbddeb; border-radius:12px; background:#f4f8fc; color:#14385b; font-size:14px; line-height:1.45; box-shadow:0 8px 24px #14385b26; }
.dswl-guest-notice[hidden], .dswl-guest-notice a[hidden] { display:none!important; }
.dswl-guest-notice a { justify-self:start; color:#174a82; font-weight:700; text-decoration:underline; }
.dswl-guest-notice a:focus-visible { outline:3px solid #fbb102; outline-offset:3px; }
.dswl-button:focus-visible,.dswl-wishlist a:focus-visible,.dswl-wishlist button:focus-visible,.dswl-wishlist input:focus-visible,.dswl-wishlist select:focus-visible { outline:3px solid #fbb102; outline-offset:3px; }
@media(max-width:767px) { .dswl-list-controls,.dswl-share { align-items:stretch; } .dswl-list-controls label { width:100%; } .dswl-list-controls select { flex:1; } .dswl-share input { width:100%; flex-basis:100%; min-width:0; } .dswl-wishlist .hidden-title-form { flex-wrap:wrap; } .dswl-wishlist .hidden-title-form input { flex-basis:100%; } .dswl-wishlist .product-quantity { grid-column:2; } .dswl-wishlist .wishlist-title { flex-wrap:wrap; } .dswl-notice-floating { bottom:16px; right:16px; } }
/* Native multi-list controls share DreamyShelf's blue and gold palette. */
.dswl-list-manager{margin:0 0 24px;padding:18px;border:1px solid #dbe5ee;border-radius:16px;background:#f4f8fc;color:#174a82}
.dswl-list-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.dswl-list-tabs a{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid #d1e0ef;border-radius:999px;background:#fff;color:#174a82;text-decoration:none;max-width:100%;overflow-wrap:anywhere}
.dswl-list-tabs a[aria-current=page]{border-color:#fbb102;background:#fff8e8;font-weight:700}
.dswl-create-list summary{cursor:pointer;font-weight:700;padding:8px 0}
.dswl-manage-form{margin:10px 0 0}
.dswl-create-list .dswl-manage-form{display:grid;gap:12px;grid-template-columns:minmax(160px,2fr) minmax(130px,1fr) auto;align-items:end}
.dswl-create-list label{display:grid;gap:6px;min-width:0}
.dswl-create-list input,.dswl-create-list select,.dswl-list-picker{box-sizing:border-box;max-width:100%;min-height:42px;padding:8px 12px;border:1px solid #cbddeb;border-radius:10px;background:#fff;color:#174a82;font:inherit}
.dswl-wishlist .dswl-manage-form .button{border-radius:999px;background:#174a82;color:#fff;border:0;padding:11px 18px;font-weight:700}
.dswl-delete-list{margin-top:18px}.dswl-wishlist .dswl-delete-list .button{background:#fff1f0;color:#9e302b;border:1px solid #f1d1ce}
.dswl-button-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dswl-add-to-wishlist .dswl-popularity{display:inline;align-self:center;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#65758a;font-size:14px;font-weight:400;line-height:1.5;white-space:normal}
.dswl-add-to-wishlist .dswl-popularity[hidden]{display:none!important}
.dswl-list-choice{display:flex;align-items:center;gap:10px;margin:0 0 9px;font-size:13px;color:#174a82;max-width:100%}.dswl-list-choice select{max-width:min(100%,360px);font-size:14px}
@media(max-width:600px){.dswl-create-list .dswl-manage-form{grid-template-columns:1fr}.dswl-list-choice{align-items:flex-start;flex-direction:column;gap:5px}.dswl-list-choice select{width:100%}.dswl-button-row{gap:8px}}
/* Account columns and embedded lists can be narrow on a wide screen. Size the
   book cards to their actual content column rather than the browser viewport. */
@container dswl-list (max-width:850px) {
 .dswl-wishlist table.wishlist_table.shop_table,
 .dswl-wishlist table.wishlist_table.shop_table tbody {
  display:block!important;width:100%!important;border:0!important;border-radius:0;background:transparent;box-shadow:none;
 }
 .dswl-wishlist table.wishlist_table.shop_table thead { display:none!important; }
 .dswl-wishlist table.wishlist_table.shop_table tbody { display:grid!important;gap:16px; }
 .dswl-wishlist table.wishlist_table.shop_table tbody tr {
  box-sizing:border-box;position:relative;display:grid!important;grid-template-columns:92px minmax(0,1fr);gap:7px 16px;
  width:100%!important;height:auto!important;padding:18px;border:1px solid #dbe5ee;border-radius:15px;background:#fff;box-shadow:0 8px 22px #14385b14;
 }
 .dswl-wishlist table.wishlist_table.shop_table tbody td {
  box-sizing:border-box;display:block!important;width:auto!important;min-width:0;height:auto!important;padding:0!important;border:0!important;text-align:left!important;word-break:normal;overflow-wrap:break-word;
 }
 .dswl-wishlist .wishlist_table td.product-remove { position:absolute;top:10px;right:10px;z-index:2; }
 .dswl-wishlist .wishlist_table td.product-remove > div { display:block!important; }
 .dswl-wishlist .wishlist_table td.product-thumbnail { grid-column:1;grid-row:1 / span 4; }
 .dswl-wishlist .wishlist_table tr td.product-thumbnail a { width:92px;max-width:92px; }
 .dswl-wishlist .wishlist_table .product-thumbnail img { display:block;width:92px!important;height:auto!important; }
 .dswl-wishlist .wishlist_table td.product-name { grid-column:2;padding-right:28px!important; }
 .dswl-wishlist .wishlist_table .product-name a { display:block;font-size:16px;line-height:1.45; }
 .dswl-wishlist .wishlist_table td.product-price { grid-column:2;font-size:15px; }
 .dswl-wishlist .wishlist_table td.product-quantity { grid-column:2; }
 .dswl-wishlist .wishlist_table td.product-stock-status { grid-column:2;font-size:13px; }
 .dswl-wishlist .wishlist_table td.product-add-to-cart {
  display:flex!important;grid-column:1 / -1;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px;padding-top:13px!important;border-top:1px solid #e8edf1!important;
 }
 .dswl-wishlist .wishlist_table .product-add-to-cart .dateadded { flex-basis:100%;margin:0; }
 .dswl-wishlist .wishlist_table .product-add-to-cart a,
 .dswl-wishlist .wishlist_table .product-add-to-cart button { max-width:100%;white-space:normal;overflow-wrap:break-word; }
 .dswl-wishlist .wishlist_table .product-add-to-cart .dsgw-gift-button { width:100%;min-height:44px;margin:0!important; }
 .dswl-wishlist .wishlist_table .product-add-to-cart .dsgw-reservation-countdown,
 .dswl-wishlist .wishlist_table .product-add-to-cart .dsgw-cart-link { flex-basis:100%; }
 .dswl-wishlist table.wishlist_table.shop_table tbody tr.dswl-empty-row { display:block!important; }
 .dswl-wishlist table.wishlist_table.shop_table .wishlist-empty { padding:12px!important;text-align:center!important; }
 .dswl-wishlist .dswl-create-list .dswl-manage-form { grid-template-columns:1fr; }
}
@container dswl-list (max-width:420px) {
 .dswl-wishlist table.wishlist_table.shop_table tbody tr { grid-template-columns:76px minmax(0,1fr);gap:6px 12px;padding:14px; }
 .dswl-wishlist .wishlist_table tr td.product-thumbnail a,
 .dswl-wishlist .wishlist_table .product-thumbnail img { width:76px!important;max-width:76px; }
 .dswl-wishlist .wishlist_table .product-name a { font-size:15px; }
}
