/* One editor lives in the in-flow rail or the native dialog, never both. */
.wishlist-host{min-width:0;margin:0 0 20px;color:#263d50}
.wishlist-core{background:#edf1f1;border:1px solid #bdcbd0;border-radius:12px;padding:20px;min-width:0;color:#263d50;overflow-wrap:anywhere}
.wishlist-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.wishlist-head h2{display:flex;align-items:center;gap:10px;font-size:19px;letter-spacing:.03em;line-height:1.4;margin:0}
.wishlist-head h2 span{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:#304a58;color:#fff;font-size:12px}
.wishlist-intro{font-size:13px;line-height:1.7;margin:15px 0 12px}
.wishlist-storage,.wishlist-privacy,.wishlist-footnote,.wishlist-edit-status,.wishlist-model,#wishlist-copy-status,.wishlist-action-status{font-size:12px;line-height:1.75}
.wishlist-storage{border-left:3px solid #678274;padding:7px 10px;background:#e2eae5;margin:0 0 12px}
.wishlist-privacy{color:#526572;margin:0 0 18px}.wishlist-privacy summary{cursor:pointer;min-height:32px;padding:4px 0}.wishlist-privacy p{margin:6px 0}
.wishlist-items{list-style:none;padding:0;margin:18px 0;display:grid;gap:14px}
.wishlist-item{background:#f9faf7;border:1px solid #cbd5d9;border-radius:8px;padding:14px;min-width:0}
.wishlist-item-title{display:flex;justify-content:space-between;gap:8px;align-items:start}
.wishlist-item h3{font-size:14px;line-height:1.6;margin:0}.wishlist-model{color:#526572;margin:5px 0 14px}
.wishlist-item-title button,.wishlist-dialog-close{background:transparent;border:0;font-size:24px;line-height:1;min-width:44px;min-height:44px;padding:7px;color:#526572;flex-shrink:0;margin-top:-10px;margin-right:-10px}
.wishlist-edit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px}
.wishlist-edit label{display:grid;gap:5px;font-size:11px;line-height:1.5;min-width:0}
.wishlist-edit input,.wishlist-edit select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1px solid #7b909e;border-radius:5px;padding:8px;background:#fff;color:#263d50;font-size:14px;margin:0}
.wishlist-edit input[aria-invalid=true]{border:2px solid #a23f33;background:#fff3ef}
.wishlist-edit-status{margin:8px 0 0;color:#526572}.wishlist-edit-status[role=alert]{color:#8e3028}
.wishlist-edit-status:empty{display:none}
.wishlist-item-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;list-style:none;cursor:pointer;font-size:12px;line-height:1.5;color:#435f6d}
.wishlist-item-editor>summary::-webkit-details-marker{display:none}
.wishlist-item-editor>summary::marker{content:""}
.wishlist-quantity-summary{min-width:0}
.wishlist-editor-hint{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;color:#8b4424;font-weight:650}
.wishlist-editor-hint svg{width:12px;height:12px;flex:none}
.wishlist-editor-collapse{display:none}
.wishlist-item-editor[open] .wishlist-editor-expand{display:none}
.wishlist-item-editor[open] .wishlist-editor-collapse{display:inline}
.wishlist-item-editor[open] .wishlist-editor-hint svg{transform:rotate(180deg)}
.wishlist-item-editor[open] .wishlist-edit{margin-top:8px}
.wishlist-edit-actions,.wishlist-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.wishlist-edit-actions[hidden]{display:none}
.wishlist-core button:not(.wishlist-dialog-close):not(.wishlist-item-title button),.wishlist-add{min-height:44px;padding:9px 12px;border-radius:6px;border:1px solid #aabdc5;background:#f8faf9;color:#304a58;font-size:12px;line-height:1.5;text-align:center}
.wishlist-core button:not(:disabled):hover,.wishlist-add:hover{background:#dce6e8;border-color:#7693a0}
.wishlist-core button:disabled{background:#e5e9e9;color:#687f89;border-color:#c0cdd2;cursor:not-allowed}
.wishlist-core #wishlist-copy{background:#304a58;color:#fff;border-color:#304a58}.wishlist-core #wishlist-copy:disabled{background:#cad5d8;color:#4f626b;border-color:#bdccd2}
.wishlist-add{width:100%;margin-top:10px;font-weight:650;letter-spacing:.015em;background:#e7edef}.wishlist-add span{margin-right:5px}
.wishlist-notes{font-size:12px;line-height:1.75}.wishlist-notes p{padding:10px;border-left:3px solid #9b7653;background:#f4ece2;margin:0 0 10px}
.wishlist-summary{margin-top:16px}.wishlist-summary summary{cursor:pointer;font-size:12px;font-weight:700;min-height:38px;padding:8px 0}
.wishlist-summary label{display:block;font-size:12px;margin-bottom:8px}.wishlist-summary textarea{width:100%;min-height:230px;resize:vertical;border:1px solid #7b909e;border-radius:6px;background:#fff;color:#263d50;padding:10px;font:12px/1.7 Arial,Helvetica,sans-serif}
.wishlist-warning{font-size:12px;line-height:1.75;padding:10px 12px;background:#fff2df;border:1px solid #d0b99b;border-radius:6px;margin:12px 0;color:#674c2e}.wishlist-warning p{margin:0 0 8px}
.wishlist-confirm{padding:14px;background:#fff2df;border:2px solid #a5794d;border-radius:8px;font-size:13px;line-height:1.75;margin-top:16px}.wishlist-confirm button+button{margin:8px 0 0 5px}
.wishlist-action-status:empty,#wishlist-copy-status:empty{display:none}.wishlist-action-status{color:#315849;margin:12px 0}
.wishlist-footnote{border-top:1px solid #cbd6d9;padding-top:12px;margin:16px 0 0;color:#526572}
.wishlist-empty{padding:22px 5px;text-align:center;border-block:1px solid #cbd6d9;margin:18px 0}.wishlist-empty>span{font-size:26px;color:#758d97}.wishlist-empty p{font-size:12px;line-height:1.8;margin:8px 0}
.wishlist-compact{display:none;width:100%;min-height:52px;align-items:center;gap:12px;padding:12px 16px;border:1px solid #b8c8ce;border-radius:10px;background:#e8eeef;color:#304a58}.wishlist-compact>span:first-child{font-weight:700;letter-spacing:.05em}.wishlist-compact>span:last-child{margin-left:auto;font-size:12px}.wishlist-compact strong{display:grid;place-items:center;min-width:25px;min-height:25px;border-radius:50%;font-size:12px;background:#304a58;color:#fff}
.wishlist-dialog{width:min(650px,calc(100% - 24px));max-width:650px;max-height:90dvh;padding:0;border:1px solid #a9bdc6;border-radius:14px;background:#edf1f1;color:#263d50;overscroll-behavior:contain}.wishlist-dialog::backdrop{background:#142c3c99}.wishlist-dialog .wishlist-core{border:0;padding:26px;border-radius:0}.wishlist-dialog .wishlist-head{position:sticky;top:-26px;background:#edf1f1;padding:12px 0;z-index:1}.wishlist-dialog .wishlist-head h2{font-size:24px}.wishlist-dialog-close{display:none}.wishlist-dialog .wishlist-dialog-close,.wishlist-expanded .wishlist-dialog-close{display:block}
.wishlist-core :focus-visible,.wishlist-compact:focus-visible,.wishlist-add:focus-visible{outline:3px solid #a5794d;outline-offset:3px}
.wishlist-announcement{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.wishlist-return{display:none}
.wishlist-dialog .wishlist-return,.wishlist-expanded .wishlist-return{display:block;width:100%;margin-top:18px;min-height:48px;font-size:16px;font-weight:650;text-align:center}
.wishlist-dialog{overflow:auto}
.wishlist-dialog .wishlist-dialog-close{background:#fff;border:1px solid #8ea2ad;border-radius:50%;color:#233c4b;margin:0}
.wishlist-dialog #wishlist-heading:focus{outline:none}
#wishlist-copy-status:not(:empty){padding:12px;background:#fff;border:1px solid #9aacb5;border-radius:6px;font-size:14px;line-height:1.7;color:#203644}
@media(max-width:1199px){.wishlist-host>.wishlist-core{display:none}.wishlist-host>.wishlist-compact{display:flex}.wishlist-host.wishlist-expanded>.wishlist-core{display:block;margin-top:10px}.wishlist-host.wishlist-expanded>.wishlist-compact{display:none}}
@media(max-width:600px){.wishlist-dialog .wishlist-core{padding:18px}.wishlist-dialog .wishlist-head{top:-18px}.wishlist-edit input,.wishlist-edit select,.wishlist-summary textarea{font-size:16px}.wishlist-dialog .wishlist-head h2{font-size:21px}.wishlist-item{padding:14px}.wishlist-actions{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.wishlist-actions button:last-child:nth-child(3){grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.wishlist-core *,.wishlist-add,.wishlist-compact{scroll-behavior:auto;transition:none}}

/* Unsupported native dialogs remain usable even when the mobile rail is hidden. */
.wishlist-rail.wishlist-fallback-open{display:block!important}

/* Stick the grid item itself: a sticky host inside a content-height rail has
   no travel space. The catalogue remains the boundary, so the rail clears
   the footer. The measured header height also follows language/zoom changes. */
@media(min-width:1200px){
  .catalog-browsing .wishlist-rail{position:sticky;top:calc(var(--nav-height) + 16px);align-self:start;max-height:calc(100vh - var(--nav-height) - 32px);max-height:calc(100dvh - var(--nav-height) - 32px);overflow:auto;scrollbar-width:thin;scroll-padding-block:12px;border-radius:12px}
  .catalog-browsing .wishlist-rail>.wishlist-host{margin-bottom:0}
  .wishlist-rail .wishlist-core{padding:16px;background:#f1f4f4}
  .wishlist-rail .wishlist-head h2{font-size:18px;letter-spacing:0}
  .wishlist-rail .wishlist-intro{font-size:12px;margin:12px 0 8px}
  .wishlist-rail .wishlist-storage:not(.wishlist-warning){padding:0;border:0;background:none;color:#526572;margin:0 0 12px}
  .wishlist-rail .wishlist-items{display:block;margin:14px 0}
  .wishlist-rail .wishlist-item{padding:14px 0 10px;border:0;border-top:1px solid #cbd5d9;border-radius:0;background:transparent}
  .wishlist-rail .wishlist-item-title{gap:4px}
  .wishlist-rail .wishlist-item-title h3{font-size:14px;line-height:1.55}
  .wishlist-rail .wishlist-model{margin:4px 0;color:#526572}
  .wishlist-rail .wishlist-item-editor[open]{padding-bottom:8px}
  .wishlist-rail .wishlist-edit{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:end}
  .wishlist-rail .wishlist-edit label{font-size:12px}
  .wishlist-rail .wishlist-edit input,.wishlist-rail .wishlist-edit select{font-size:13px;padding:8px 6px;height:44px}
  .wishlist-rail .wishlist-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .wishlist-rail .wishlist-actions>button[data-wishlist-save]{grid-column:1/-1}
  .wishlist-rail .wishlist-privacy{margin:14px 0 0}
  .wishlist-rail .wishlist-action-status{font-size:12px;margin:8px 0}
}

/* Reuse the same opener and editor below the desktop breakpoint. A small
   floating entry is the only persistent mobile layer; the full list opens
   in its existing dialog (or the existing in-flow unsupported-dialog fallback). */
@media(max-width:1199px){
  .catalog-browsing{scroll-padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
  .catalog-browsing body{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
  .catalog-browsing .wishlist-rail{display:block;margin:0}
  .catalog-browsing .wishlist-rail>.wishlist-host:not(.wishlist-expanded){margin:0}
  .catalog-browsing .wishlist-rail .wishlist-host:not(.wishlist-expanded)>.wishlist-compact{position:fixed;right:max(12px,env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:34;width:auto;max-width:calc(100% - 24px);min-height:48px;padding:10px 14px;gap:10px;box-shadow:0 4px 18px #172d3b26}
  .catalog-browsing .wishlist-rail .wishlist-compact>span:last-child{display:none}
  .catalog-browsing .dock-wishlist-open{display:none}
  .catalog-browsing .wishlist-rail.wishlist-fallback-open{padding:16px}
}
