/* Sale guidance stays above the bag grid, including at a shop that does not buy the selected item. */
#shop-bag-sale-note:not([hidden]){flex:none;margin:0 0 6px;padding:6px 8px;border:1px solid #96723d;border-radius:3px;background:#261b16;color:#ffe3a0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
/* Two complete touching desktop frames. The original shop dialog remains the modal lifecycle owner. */
body #shop-dialog.pui-module.pui-window.pui-shop-pair-host {
  display:flex!important;flex-direction:row;align-items:stretch;gap:0;
  width:min(1380px,calc(100vw - 32px));height:min(760px,calc(100dvh - 32px));
  max-width:none;max-height:none;margin:auto;padding:0!important;
  border:0!important;border-image:none!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;overflow:visible!important;translate:0 0!important;
}
#shop-dialog.pui-shop-pair-host>.shop-frame { display:none!important; }
#shop-dialog.pui-shop-pair-host .shop-pair-module {
  position:relative;flex:0 0 50%;width:50%;height:100%;min-width:0;min-height:0;
  display:flex;flex-direction:column;padding:12px!important;overflow:hidden;
  --shop-panel:#140d1b;
}
#shop-dialog.pui-shop-pair-host .shop-pair-module[hidden] { display:none!important; }
#shop-dialog.pui-shop-pair-host .shop-pair-store>header,
#shop-dialog.pui-shop-pair-host .shop-pair-bag>header {
  position:static;flex:none;display:flex;align-items:center;gap:12px;
  min-height:58px;height:auto;padding:8px 4px 12px;border-bottom:1px solid var(--pui-line);
  background:none;
}
#shop-dialog.pui-shop-pair-host .shop-pair-bag-header h2 { flex:1;min-width:0;margin:0;color:var(--pui-gold-light);font-size:24px;line-height:1.4; }
#shop-dialog.pui-shop-pair-host #shop-bag-count { color:var(--pui-muted);font-size:13px;white-space:nowrap; }
#shop-dialog.pui-shop-pair-host :is(.shop-pair-close,.shop-pair-reopen) { flex:none;min-height:40px;border:1px solid var(--pui-gold);border-radius:4px;background:#291930;color:var(--pui-text);font:inherit; }
#shop-dialog.pui-shop-pair-host .shop-pair-close { width:40px;font-size:24px; }
#shop-dialog.pui-shop-pair-host .shop-pair-store-body { display:flex;flex-direction:column;gap:12px;flex:1;min-width:0;min-height:0;padding-top:12px; }
#shop-dialog.pui-shop-pair-host .shop-host { flex:none;display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;gap:6px 10px;min-height:78px;max-height:110px;padding:8px;border:1px solid var(--pui-line);border-radius:4px;overflow:hidden;background-position:25% 30%; }
#shop-dialog.pui-shop-pair-host .shop-host::before { background:#0d0713e0; }
#shop-dialog.pui-shop-pair-host .shop-keeper { grid-column:1;grid-row:1/span 2;height:72px;min-height:0;display:grid;place-items:center; }
#shop-dialog.pui-shop-pair-host .shop-keeper img { max-width:100%;max-height:72px;object-fit:contain; }
#shop-dialog.pui-shop-pair-host .shop-plate { grid-column:2;padding:0;border:0;background:none;text-align:left; }
#shop-dialog.pui-shop-pair-host .shop-plate strong { font-size:18px; }
#shop-dialog.pui-shop-pair-host .shop-speech { display:none; }
#shop-dialog.pui-shop-pair-host .shop-tabs { grid-column:2;display:flex;gap:6px;overflow-x:auto; }
#shop-dialog.pui-shop-pair-host .shop-tab { width:auto;flex:none;min-height:32px;padding:4px 10px;white-space:nowrap; }
#shop-dialog.pui-shop-pair-host .shop-stock { flex:1;min-height:0;padding:0;border:0;border-radius:0;background:none;gap:8px; }
#shop-dialog.pui-shop-pair-host .shop-toolbar { display:flex;flex-wrap:nowrap;gap:8px; }
#shop-dialog.pui-shop-pair-host .shop-side { flex:1 1 auto;min-width:0; }
#shop-dialog.pui-shop-pair-host .shop-side button { min-height:38px;font-size:12px;padding:5px 8px; }
#shop-dialog.pui-shop-pair-host .shop-search { flex:0 0 34%;width:34%;min-width:100px;min-height:38px; }
#shop-dialog.pui-shop-pair-host #shop-search { min-height:36px; }
#shop-dialog.pui-shop-pair-host #shop-category-tabs { flex-wrap:nowrap;overflow-x:auto; }
#shop-dialog.pui-shop-pair-host #shop-category-tabs button { flex:none;white-space:nowrap;min-height:32px; }
#shop-dialog.pui-shop-pair-host #shop-items { grid-template-columns:repeat(8,minmax(0,1fr));padding:3px;gap:6px;flex:1;min-height:0; }
#shop-dialog.pui-shop-pair-host .shop-item { aspect-ratio:1;min-height:0;min-width:0;height:auto;padding:4px;border-radius:3px; }
#shop-dialog.pui-shop-pair-host .shop-item .shop-art { position:absolute;inset:4px;width:auto;height:auto; }
#shop-dialog.pui-shop-pair-host .shop-item :is(strong,.shop-tag) { position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
#shop-dialog.pui-shop-pair-host .shop-item .shop-amount { position:absolute;right:3px;bottom:2px;width:auto;min-height:0;margin:0;padding:0 3px;border:0;background:#100917dc;font-size:12px;line-height:1.4;gap:2px; }
#shop-dialog.pui-shop-pair-host .shop-item .shop-amount svg { width:12px;height:12px; }
#shop-dialog.pui-shop-pair-host .shop-stock-footer { flex:none;min-height:32px; }
#shop-dialog.pui-shop-pair-host .shop-pair-bag-body { display:flex;flex-direction:column;gap:10px;flex:1;min-width:0;min-height:0;padding-top:10px; }
#shop-dialog.pui-shop-pair-host .shop-pair-hint { flex:none;margin:0;color:var(--pui-muted);font-size:12px;line-height:1.6; }
#shop-dialog.pui-shop-pair-host .shop-bag-preview { flex:1;min-height:150px;padding:0;margin:0;border:0;display:flex;flex-direction:column; }
#shop-dialog.pui-shop-pair-host .shop-bag-preview>header { display:none; }
#shop-dialog.pui-shop-pair-host #shop-bag-items { display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:max-content;gap:6px;align-content:start;min-height:0;max-height:none;overflow:auto;padding:3px; }
#shop-dialog.pui-shop-pair-host .shop-bag-item { position:relative;aspect-ratio:1;min-height:0;min-width:0;height:auto;padding:4px;border:1px solid #997240;border-radius:3px;background:#190f21;cursor:pointer; }
#shop-dialog.pui-shop-pair-host .shop-bag-item img,
#shop-dialog.pui-shop-pair-host .shop-bag-item>svg { width:100%;height:100%;max-width:none;max-height:none;object-fit:contain; }
#shop-dialog.pui-shop-pair-host .shop-bag-item>span { position:absolute;right:3px;bottom:2px;padding:0 3px;background:#100917dc;color:var(--pui-text);font-size:12px;line-height:1.4; }
#shop-dialog.pui-shop-pair-host .shop-bag-item:disabled { cursor:default;opacity:.45; }
#shop-dialog.pui-shop-pair-host .shop-detail { flex:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 0 0;margin:0;border:0;border-top:1px solid var(--pui-line);border-radius:0;background:none;max-height:290px;overflow:hidden; }
#shop-dialog.pui-shop-pair-host .shop-detail-info { flex:none;display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 9px;min-height:0;max-height:265px;overflow:auto; }
#shop-dialog.pui-shop-pair-host .shop-art-large { width:64px;height:76px;grid-row:1/span 4; }
#shop-dialog.pui-shop-pair-host #shop-item-name { margin:0;font-size:18px; }
#shop-dialog.pui-shop-pair-host .shop-checkout { display:flex;flex-direction:column;gap:7px;min-width:0;margin:0;padding:0;border:0; }
#shop-dialog.pui-shop-pair-host .shop-quantity { gap:4px; }
#shop-dialog.pui-shop-pair-host .shop-quantity label { font-size:12px; }
#shop-dialog.pui-shop-pair-host .shop-quantity :is(button,input) { min-height:38px;height:38px; }
#shop-dialog.pui-shop-pair-host .shop-quantity input { width:42px; }
#shop-dialog.pui-shop-pair-host .shop-summary { padding:7px; }
#shop-dialog.pui-shop-pair-host .shop-total { font-size:13px; }
#shop-dialog.pui-shop-pair-host #shop-after { font-size:10px; }
#shop-dialog.pui-shop-pair-host :is(#shop-reason,#shop-result) { max-height:40px;overflow:auto;font-size:11px; }
#shop-dialog.pui-shop-pair-host #shop-submit { min-height:44px;font-size:17px; }
#shop-dialog.pui-shop-pair-host .shop-pair-drop-active { outline:2px solid var(--pui-gold-light);outline-offset:-25px; }
/* Reuse the approved dimensional frame as a whole image; do not stretch SVG corner slices. */
body #shop-dialog.pui-module.pui-window.pui-shop-pair-host{
 --shop-pair-height:min(824px,calc(100dvh - 24px),calc((100vw - 24px)/1.674758));
 width:calc(var(--shop-pair-height)*1.674758)!important;height:var(--shop-pair-height)!important;
}
body #shop-dialog.pui-shop-pair-host .shop-pair-module{
 padding:calc(var(--shop-pair-height)*.13) calc(var(--shop-pair-height)*.0837379) calc(var(--shop-pair-height)*.108)!important;
 border:0!important;border-image:none!important;background:transparent!important;box-shadow:none!important;isolation:isolate;
}
#shop-dialog.pui-shop-pair-host .shop-pair-module::before{
 content:"";display:block;position:absolute;inset:7% 5% 5%;z-index:-1;pointer-events:none;
 background:linear-gradient(#21132beb,#21132bf0),url('/assets/ui/player-surfaces-v1/royal-hall.webp') center/cover no-repeat;
 clip-path:polygon(4% 0,96% 0,100% 4%,100% 95%,95% 100%,5% 100%,0 95%,0 4%);
}
#shop-dialog.pui-shop-pair-host .shop-pair-module::after{
 content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:url('/assets/ui/bag-frame-v2/frame.b1018fc0bf97.webp') center/100% 100% no-repeat;
 clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,10.5% 13.8%,10.5% 88.4%,89.5% 88.4%,89.5% 13.8%,10.5% 13.8%);
}
#shop-dialog.pui-shop-pair-host .shop-pair-module>header{
 position:absolute!important;inset:5.6% 7% auto;width:86%;height:7%;min-height:0;
 padding:0!important;border:0!important;background:none!important;z-index:3;
}
#shop-dialog.pui-shop-pair-host .shop-pair-module>header :is(h2,.shop-sign){
 position:absolute;inset:0 24%;margin:0!important;padding:0!important;border:0!important;background:none;
}
#shop-dialog.pui-shop-pair-host .shop-pair-module>header :is(h2,.shop-sign h2){
 display:grid;place-items:center;font-size:24px!important;line-height:1.3!important;color:#ffe4a3;
}
#shop-dialog.pui-shop-pair-host .shop-sign h2{inset:0!important}
#shop-dialog.pui-shop-pair-host .shop-sign small{display:none}
#shop-dialog.pui-shop-pair-host .shop-pair-module>header :is(#shop-close,.shop-pair-close){position:absolute;right:0;top:50%;translate:0 -50%;width:40px;height:40px;margin:0}
#shop-dialog.pui-shop-pair-host .shop-pair-reopen{position:absolute;left:0;top:50%;translate:0 -50%;font-size:12px;min-height:32px}
#shop-dialog.pui-shop-pair-host #shop-bag-count{position:absolute;top:calc(100% + 3px);right:0;line-height:16px;font-size:11px}
#shop-dialog.pui-shop-pair-host :is(.shop-pair-store-body,.shop-pair-bag-body){position:relative;z-index:2;padding-top:0}
#shop-dialog.pui-shop-pair-host .shop-pair-store-body>.shop-wallet{align-self:flex-end;flex:none;font-size:17px;padding:4px 8px}
#shop-dialog.pui-shop-pair-host .shop-pair-store-body>.shop-wallet svg{width:20px;height:20px}
#shop-dialog.pui-shop-pair-host .shop-pair-empty{aspect-ratio:1;border:1px solid #56412b;border-radius:3px;background:#0c080e}
/* The shop's name belongs in the title; retain only native shop/service shortcuts here. */
#shop-dialog.pui-shop-pair-host .shop-host{display:contents}
#shop-dialog.pui-shop-pair-host .shop-host::before,
#shop-dialog.pui-shop-pair-host .shop-host>:not(.shop-tabs){display:none}
#shop-dialog.pui-shop-pair-host .shop-host .shop-tabs{flex:none;grid-column:auto;padding:0;min-height:0}
#shop-dialog.pui-shop-pair-host .shop-host .shop-tabs.single>[data-shop-type]{display:none!important}
#shop-dialog.pui-shop-pair-host .shop-host .shop-tabs.single:not(:has(.shop-pair-service)){display:none}
#shop-dialog.pui-shop-pair-host .shop-pair-service{flex:none;min-height:32px;padding:4px 10px;white-space:nowrap;font:inherit;font-size:12px;border:1px solid #997240;border-radius:3px;background:#211427;color:#ffe4a3}
/* The same removal also covers native guild-point shops outside the paired coin-shop layout. */
body #shop-dialog .shop-host{display:contents}
body #shop-dialog .shop-host::before,
body #shop-dialog .shop-host>:not(.shop-tabs){display:none}
body #shop-dialog .shop-host .shop-tabs.single>[data-shop-type]{display:none!important}
body #shop-dialog .shop-host .shop-tabs.single:not(:has(.shop-pair-service)){display:none}
body #shop-dialog:not(.pui-shop-pair-host) .shop-body{grid-template-columns:minmax(0,1fr) minmax(0,32%);grid-template-rows:auto minmax(0,1fr)}
body #shop-dialog:not(.pui-shop-pair-host) .shop-host .shop-tabs{grid-column:1/-1;grid-row:1;min-height:0;padding:0}
body #shop-dialog:not(.pui-shop-pair-host) .shop-stock{grid-column:1;grid-row:2}
body #shop-dialog:not(.pui-shop-pair-host) .shop-detail{grid-column:2;grid-row:2}
