/* FAB */
.pc-compare-fab { position: fixed; right: 16px; bottom: 16px; z-index: 9999; font-family: inherit; }
.pc-compare-fab .pc-fab-btn { display:flex; align-items:center; gap:8px; border:0; border-radius:999px; padding:10px 14px; background:#111; color:#fff; cursor:pointer; box-shadow:0 6px 24px rgba(0,0,0,.18); }
.pc-compare-fab .pc-fab-icon { width:18px; height:18px; display:inline-block; position:relative; }
.pc-compare-fab .pc-fab-icon::before, .pc-compare-fab .pc-fab-icon::after { content:""; position:absolute; inset:0; border:2px solid #fff; border-radius:2px; transform:translate(-2px,0); }
.pc-compare-fab .pc-fab-icon::after { transform:translate(2px,0); opacity:.6; }
.pc-compare-fab .pc-fab-count { font-weight:700; }
.pc-compare-fab .pc-fab-label { font-size:14px; }
.pc-compare-fab .pc-fab-panel { position:absolute; right:0; bottom:52px; width:320px; max-height:60vh; overflow:auto; background:#fff; border-radius:12px; box-shadow:0 12px 40px rgba(0,0,0,.18); padding:10px; display:none; }
.pc-compare-fab .pc-fab-panel.is-open { display:block; }
.pc-compare-fab.pc-has-items .pc-fab-btn { background:#222; }

.pc-mini-empty { padding:8px; color:#666; font-size:13px; }
.pc-mini-list { list-style:none; margin:0; padding:0; }
.pc-mini-row { display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:10px; padding:6px 4px; border-radius:8px; }
.pc-mini-row:hover { background:rgba(0,0,0,.04); }
.pc-mini-thumb { width:48px; height:48px; object-fit:contain; background:#fafafa; border-radius:6px; }
.pc-mini-link { display:contents; color:inherit; text-decoration:none; }
.pc-mini-link span { font-size:13px; line-height:1.3; }
.pc-mini-remove { background:transparent; border:0; font-size:18px; line-height:1; cursor:pointer; color:#999; padding:2px 6px; }
.pc-mini-remove:hover { color:#333; }
.pc-fab-actions { display:flex; gap:8px; padding:8px 4px 4px; }
.pc-fab-actions .button { width:100%; }

/* Modal */
.pc-compare-modal[aria-hidden="true"] { display:none; }
.pc-compare-modal { position:fixed; inset:0; z-index:10000; }
.pc-compare-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.45); }
.pc-compare-dialog { position:relative; background:#fff; border-radius:14px; margin:6vh auto; padding:16px; max-width:1100px; width:calc(100% - 32px); box-shadow:0 18px 60px rgba(0,0,0,.25); }
.pc-modal-close { position:absolute; right:10px; top:8px; border:0; background:transparent; font-size:28px; cursor:pointer; }
.pc-modal-heading { margin:0 0 12px; font-size:20px; }
.pc-modal-empty { padding:24px; color:#666; text-align:center; }

/* Head cards */
.pc-compare-head { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-bottom:16px; }
.pc-compare-col { border:1px solid #eee; border-radius:12px; padding:12px; display:flex; flex-direction:column; gap:8px; }
.pc-cmp-img { display:block; border-radius:8px; overflow:hidden; background:#fafafa; }
.pc-cmp-thumb { width:100%; height:180px; object-fit:contain; }
.pc-cmp-title { font-weight:600; text-decoration:none; color:inherit; }
.pc-cmp-price { font-weight:600; color:#111; }
.pc-cmp-sku { font-size:12px; color:#666; }
.pc-cmp-stock { font-size:13px; }
.pc-cmp-varlabel { display:block; font-size:12px; color:#333; }
.pc-cmp-variation { width:100%; }

/* Attributes table */
.pc-compare-table { border:1px solid #eee; border-radius:12px; overflow:hidden; }
.pc-compare-row { display:grid; grid-template-columns:220px repeat(3,1fr); border-top:1px solid #eee; }
.pc-compare-row:first-child { border-top:0; }
.pc-compare-row--head { background:#fafafa; font-weight:600; }
.pc-compare-cell { padding:10px 12px; }
.pc-compare-cell--label { background:#fafafa; }
.pc-compare-cell--prod { min-height:40px; }

/* Body lock przy otwartym modalu */
.pc-modal-open { overflow:hidden; }
