/* Consolidated feature styles extracted from inline PHP echoes.
   Includes: Shipping estimate, Bulk discount buttons, Info sections (variation panels), Add-on products UI, Variation bulk overrides.
   Shared across frontend & admin. */

/* Shipping Estimate */
.wpp-ship-estimate { --wpp-ship-bg:#d1fae5; --wpp-ship-text:#065f46; --wpp-ship-icon:#065f46; --wpp-ship-border:#10b981; margin-top:1rem; background:var(--wpp-ship-bg); color:var(--wpp-ship-text); display:flex; flex-direction:row; align-items:center; gap:10px; padding:10px 14px; border:1px solid var(--wpp-ship-border); border-radius:4px; font-size:15px; font-weight:500; box-sizing:border-box; }
.wpp-ship-icon { margin-right:6px; line-height:0; display:flex; color:var(--wpp-ship-icon); }
.wpp-ship-text { vertical-align:middle; }

/* Bulk Discount Buttons (preview + frontend) */
.wpp-bulk-preview-wrap .woo-bulk-discount-buttons, .woo-bulk-discount-buttons { display:flex; gap:14px; margin:0 0 4px; }
.woo-bulk-discount-btn { background:var(--wpp-bulk-bg); border:1px solid var(--wpp-bulk-border); color:var(--wpp-bulk-text); font-weight:500; border-radius:.3rem; cursor:pointer; position:relative; height:3rem; min-width:120px; flex:1; display:flex; align-items:center; justify-content:center; transition:.15s; }
.woo-bulk-discount-btn.selected { background:var(--wpp-bulk-bg-active); border:0.3rem solid var(--wpp-bulk-border-active); color:var(--wpp-bulk-text-active); }
.woo-bulk-discount-btn .wpp-bulk-btn-inner { display:flex; align-items:center; gap:6px; font-size:13px; }
.woo-bulk-discount-btn .wpp-bulk-save { padding:3px 8px; border-radius:999px; font-size:11px; font-weight:400; line-height:1.1; box-shadow:0 0 0 1px rgba(0,0,0,.06) inset; }
.woo-bulk-discount-btn.selected .wpp-bulk-save { box-shadow:none; }
.woo-bulk-discount-btn .woo-bulk-discount-badge { position:absolute; top:-8px; right:-8px; background:#0073aa; color:#fff; font-size:10px; padding:2px 6px; border-radius:6px; }

/* Bulk button color picker table (admin) */
#wpp-bulk-button-theme-table input[type=color] { width:48px; height:34px; padding:0; }
.wpp-save-palette { display:flex; gap:10px; margin:10px 0 14px; }
.wpp-save-palette label { position:relative; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:4px; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
.wpp-save-palette input { position:absolute; opacity:0; }
.wpp-save-palette .sample { padding:4px 10px; border-radius:999px; font-size:11px; font-weight:500; display:inline-block; border:2px solid transparent; }
.wpp-save-palette input:checked + .sample { border-color:#2271b1; }

/* Variation Bulk Override Mini Tables */
.wpp-var-bulk-box { padding:8px 0; margin:0 0 6px; border-top:1px solid #eee; }
.wpp-var-bulk-box:first-of-type { border-top:0; }
.wpp-var-bulk-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px; }
.wpp-var-bulk-head h5 { margin:0; font-size:12px; font-weight:600; }
.wpp-var-bulk-body { margin-top:4px; }
.wpp-var-bulk-toggle { cursor:pointer; }
.wpp-bulk-mini-table { width:100%; border-collapse:collapse; margin:4px 0; }
.wpp-bulk-mini-table th { font-weight:600; }
.wpp-bulk-mini-table th, .wpp-bulk-mini-table td { border:1px solid #e5e5e5; padding:3px 5px; font-size:11px; text-align:left; background:#fff; }
.wpp-bulk-mini-table input[type=number] { width:60px; }
.wpp-bulk-mini-table input[type=text] { width:110px; }
.wpp-var-bulk-box[data-collapsed="1"] .wpp-var-bulk-body { display:none; }
.wpp-badge-enabled, .wpp-badge-disabled { display:inline-block; font-size:9px; padding:2px 5px; border-radius:8px; font-weight:600; letter-spacing:.5px; }
.wpp-badge-enabled { background:#0d9488; color:#fff; }
.wpp-badge-disabled { background:#888; color:#fff; }

/* Add-on Products (admin + could share patterns) */
.wpp-addon-products-wrapper { position:relative; left:auto; margin-left:0; max-width:100%; overflow:visible; }
.wpp-addon-layout { display:flex; flex-direction:row; gap:20px; align-items:flex-start; width:calc(100% - 2rem); }
.wpp-addon-layout > .wpp-addon-available, .wpp-addon-layout > .wpp-addon-selected-panel { flex:1 1 0; min-width:0; }
.wpp-addon-selected-panel { background:#fff; border:1px solid #e2e8f0; border-radius:4px; padding:12px; }
.wpp-addon-selected-panel ul { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px; }
.wpp-selected-pill { display:inline-flex; align-items:center; gap:6px; background:#f1f5f9; border:1px solid #cbd5e1; padding:4px 8px; border-radius:4px; font-size:12px; font-weight:500; }
.wpp-addon-filters { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0 0 12px; width:calc(100% - 2rem); min-height:32px; }
.wpp-addon-filters input[type=text] { flex:1 1 200px; min-width:180px; padding:4px 8px; height:32px; line-height:30px; }
.wpp-addon-filters #wpp-addon-search { max-height:32px; min-width:100%; }
.wpp-addon-filters select { padding:4px 6px; height:32px; line-height:30px; }
.wpp-addon-filters #wpp-addon-sort { width:120px !important; }
.wpp-addon-filters .button-secondary { padding:4px 12px; line-height:1.2; height:32px; display:inline-flex; align-items:center; }
.wpp-addon-filters label { font-size:11px; font-weight:600; display:flex; flex-direction:column; gap:2px; min-height:32px; justify-content:flex-start; }
@media (max-width:700px){ .wpp-addon-filters label{ flex:1 1 100%; } }
@media (max-width:1100px){ .wpp-addon-layout{ flex-direction:column; } }

/* Info Sections (variation panels admin) */
.wpp-var-panel { display:none; border:1px solid #d1d5db; padding:12px; background:#fdfdfd; margin-bottom:8px; }
.wpp-var-panel.active { display:block; }
.wpp-var-tabs .button.active { background:#2271b1; color:#fff; }
.wpp-var-tabs .button { position:relative; }
.wpp-var-tabs .button.active:after { content:""; position:absolute; left:0; right:0; bottom:-2px; height:3px; background:#1d4ed8; border-bottom-left-radius:2px; border-bottom-right-radius:2px; }
.wpp-var-badge { display:inline-block; font-size:10px; line-height:1; padding:2px 5px; border-radius:10px; font-weight:600; letter-spacing:.5px; vertical-align:middle; }
.wpp-var-badge.base { background:#475569; color:#fff; }
.wpp-var-badge.override { background:#0d9488; color:#fff; }
.wpp-var-badge.inherit { background:#64748b; color:#fff; }
.wpp-var-tabs .button[data-has-override="1"] .wpp-var-badge.inherit { display:none; }
.wpp-var-tabs .button[data-has-override="0"] .wpp-var-badge.override { display:none; }

/* ── Info Sections: product admin panel UI (wpp-si-*) ───────────── */

/* Root wrapper */
.wpp-si-root { padding: 4px 0 8px; }

/* Toolbar */
.wpp-si-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5e7eb;
}
.wpp-si-toolbar-left { flex: 1 1 0; }
.wpp-si-toolbar-right { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.wpp-si-hint { font-size: 11px; color: #9ca3af; }
.wpp-si-tpl-label { font-size: 11px; font-weight: 600; color: #6b7280; white-space: nowrap; }
.wpp-si-tpl-btn { font-size: 12px !important; height: 28px !important; line-height: 26px !important; padding: 0 10px !important; }
.wpp-si-add-btn { height: 28px !important; line-height: 26px !important; padding: 0 12px !important; font-size: 12px !important; }

/* Empty state */
.wpp-si-empty {
    text-align: center;
    padding: 32px 16px;
    color: #9ca3af;
    border: 2px dashed #e5e7eb;
    border-radius: 6px;
    background: #fafafa;
}
.wpp-si-empty-icon { font-size: 32px !important; width: 32px !important; height: 32px !important; line-height: 1 !important; display: block !important; margin: 0 auto 8px !important; opacity: .45; }
.wpp-si-empty p { margin: 0; font-size: 13px; }
.wpp-si-hidden { display: none !important; }

/* Section list */
.wpp-si-list { display: flex; flex-direction: column; gap: 8px; }

/* Drag placeholder */
.wpp-si-sortable-placeholder {
    background: #f0f7ff;
    border: 2px dashed #93c5fd;
    border-radius: 6px;
    margin-bottom: 0;
}

/* Section card */
.wpp-si-card {
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.05);
    transition: box-shadow .15s, border-color .15s;
    overflow: hidden;
}
.wpp-si-card:hover { border-color: #93c5fd; box-shadow: 0 2px 6px rgba(59,130,246,.1); }
.wpp-si-card.wpp-si-dragging { box-shadow: 0 8px 24px rgba(0,0,0,.15); opacity: .92; border-color: #3b82f6; }

/* Card header */
.wpp-si-card-head {
    display: flex;
    align-items: center;
    gap: 0;
    background: #f8fafc;
    border-bottom: 1px solid #e5e7eb;
    user-select: none;
}
.wpp-si-handle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    flex-shrink: 0;
    cursor: grab;
    color: #9ca3af;
    padding: 10px 6px;
    transition: color .15s;
}
.wpp-si-handle:hover { color: #3b82f6; }
.wpp-si-handle:active { cursor: grabbing; }
.wpp-si-collapse-btn {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    gap: 8px;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 10px 8px !important;
    text-align: left;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: #1f2937;
    min-height: 0 !important;
    height: auto !important;
    line-height: 1.4 !important;
}
.wpp-si-collapse-btn:hover { color: #2271b1; }
.wpp-si-collapse-btn[aria-expanded="false"]::before {
    content: "▶";
    font-size: 9px;
    color: #9ca3af;
    flex-shrink: 0;
}
.wpp-si-collapse-btn[aria-expanded="true"]::before {
    content: "▼";
    font-size: 9px;
    color: #9ca3af;
    flex-shrink: 0;
}
.wpp-si-card-title-text { flex: 1 1 0; }
.wpp-si-card-title-text em { font-weight: 400; color: #9ca3af; font-style: italic; }
.wpp-si-item-count {
    font-size: 10px;
    font-weight: 500;
    color: #6b7280;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 99px;
    padding: 1px 7px;
    white-space: nowrap;
}
.wpp-si-type-badge {
    font-size: 10px;
    font-weight: 600;
    padding: 1px 7px;
    border-radius: 99px;
    white-space: nowrap;
    letter-spacing: .03em;
}
.wpp-si-type-list { background: #dbeafe; color: #1d4ed8; }
.wpp-si-type-kv   { background: #dcfce7; color: #15803d; }
.wpp-si-head-actions { display: flex; align-items: center; padding-right: 8px; gap: 4px; }
.wpp-si-remove-btn { color: #dc2626 !important; border-color: transparent !important; background: none !important; box-shadow: none !important; padding: 4px 6px !important; height: auto !important; min-height: 0 !important; }
.wpp-si-remove-btn:hover { background: #fee2e2 !important; border-color: #fca5a5 !important; }
.wpp-si-remove-btn .dashicons { font-size: 14px; width: 14px; height: 14px; line-height: 14px; }

/* Card body */
.wpp-si-card-body { padding: 12px 14px 14px; }
.wpp-si-card-body.wpp-si-collapsed { display: none; }

/* Meta row (title + type) */
.wpp-si-meta-row { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.wpp-si-field { display: flex; flex-direction: column; gap: 4px; flex: 1 1 180px; }
.wpp-si-field label { font-size: 11px; font-weight: 600; color: #374151; text-transform: uppercase; letter-spacing: .04em; }
.wpp-si-field input[type=text],
.wpp-si-field select { width: 100%; box-sizing: border-box; }
.wpp-si-field-type { flex: 0 1 160px; }

/* KV column header */
.wpp-si-items-header {
    display: grid;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #9ca3af;
    margin-bottom: 4px;
    padding: 0 4px;
}
.wpp-si-kv-header { grid-template-columns: 24px 1fr 1fr 32px; gap: 6px; }

/* Item rows */
.wpp-si-items { display: flex; flex-direction: column; gap: 5px; margin-bottom: 8px; }
.wpp-si-item-row {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    padding: 5px 6px;
    transition: background .12s, border-color .12s;
}
.wpp-si-item-row:hover { background: #f0f7ff; border-color: #bfdbfe; }
.wpp-si-item-handle { color: #d1d5db; cursor: grab; flex-shrink: 0; display: flex; align-items: center; }
.wpp-si-item-handle:hover { color: #60a5fa; }
.wpp-si-item-handle:active { cursor: grabbing; }
.wpp-si-item-row input[type=text] { flex: 1 1 0; min-width: 60px; border: 1px solid #d1d5db; border-radius: 3px; padding: 4px 7px; font-size: 12px; height: 28px; box-sizing: border-box; }
.wpp-si-item-row input[type=text]:focus { border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59,130,246,.15); outline: none; }
.wpp-si-remove-item-btn { flex-shrink: 0; padding: 2px 6px !important; height: 24px !important; line-height: 20px !important; color: #9ca3af !important; border-color: transparent !important; background: none !important; box-shadow: none !important; font-size: 14px !important; min-height: 0 !important; }
.wpp-si-remove-item-btn:hover { color: #dc2626 !important; background: #fee2e2 !important; border-color: #fca5a5 !important; }

/* Add item button */
.wpp-si-add-item-btn { font-size: 11px !important; height: 26px !important; line-height: 24px !important; padding: 0 10px !important; color: #374151 !important; }

/* Sections theme tables (admin) */
#wpp-sections-theme-table input[type=color] { width:48px; height:34px; padding:0; }
#wpp-sections-theme-table td { vertical-align:middle; }

/* Shipping theme tables (admin) */
#wpp-shipping-theme-table input[type=color] { width:48px; height:34px; padding:0; }
#wpp-shipping-preview-wrapper { margin-top:14px; max-width:800px; }
#wpp-shipping-preview { padding:12px; border:1px solid #d0d7de; border-radius:4px; }
#wpp-shipping-preview .wpp-ship-icon svg { color:var(--wpp-ship-icon); }

/* Stock label theme tables (admin) */
#wpp-stock-label-theme-table input[type=color] { width:48px; height:34px; padding:0; }
#wpp-stock-label-theme-table td { vertical-align:middle; }
#wpp-stock-preview-wrapper { margin-top:14px; max-width:800px; }
#wpp-stock-label-preview { padding:20px; background:#fff; border:1px solid #ddd; border-radius:4px; }

/* Dynamic price theme tables (admin) */
#wpp-dynamic-price-theme-table input[type=color] { width:48px; height:34px; padding:0; }
#wpp-dynamic-price-theme-table input[type=number] { width:80px; }
#wpp-dynamic-price-theme-table td { vertical-align:middle; }
#wpp-dynamic-price-preview-wrapper { margin-top:14px; max-width:800px; }
#wpp-dynamic-price-preview { padding:20px; background:#fff; border:1px solid #ddd; border-radius:4px; }

/* Search button theme tables (admin) */
#wpp-search-button-theme-table input[type=color],
#wpp-search-button-theme-table .wpp-color-swatch { width:48px; height:34px; padding:0; }
#wpp-search-button-theme-table td { vertical-align:middle; }
#wpp-search-btn-style-preview { margin-top:14px; max-width:800px; }
#wpp-shipping-preview .wpp-sim-controls button { margin:0 4px 6px 0; }
#wpp-shipping-preview .wpp-sim-controls { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:6px; }
#wpp-shipping-preview .wpp-sim-controls .group { display:flex; align-items:center; gap:4px; margin-right:10px; }
#wpp-shipping-preview .wpp-sim-controls label { font-size:12px; font-weight:600; margin-right:4px; }
#wpp-shipping-preview .wpp-sim-controls select, #wpp-shipping-preview .wpp-sim-controls input[type=number]{ height:30px; font-size:12px; padding:2px 10px; }
#wpp-shipping-preview .wpp-sim-controls select#wpp_sim_day { padding:0rem 1.5rem 0rem 0.5rem !important; }
#wpp-shipping-preview .wpp-sim-state { font-size:11px; opacity:.75; margin-top:4px; }

/* --------------------------------------------------
    Unified Settings Table Styles (Admin Settings Page)
    Applies consistent look & spacing to theme/config tables.
    Targets existing IDs to avoid impacting unrelated WP tables.
--------------------------------------------------- */
#wpp-bulk-button-theme-table,
#wpp-shipping-theme-table,
#wpp-sections-theme-table,
#wpp-stock-label-theme-table,
#wpp-dynamic-price-theme-table,
#wpp-search-button-theme-table {
   border-collapse: separate;
   border-spacing: 0;
   width: 100%;
   background: #ffffff;
   border: 1px solid #d0d7de;
   border-radius: 6px;
   overflow: hidden;
   font-size: 13px;
   box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
#wpp-bulk-button-theme-table thead th,
#wpp-shipping-theme-table thead th,
#wpp-sections-theme-table thead th,
#wpp-stock-label-theme-table thead th,
#wpp-dynamic-price-theme-table thead th,
#wpp-search-button-theme-table thead th {
   background: #1f2937; /* dark slate */
   color: #ffffff;
   font-weight: 600;
   padding: 10px 12px;
   border-bottom: 1px solid #374151;
   text-align: left;
   font-size: 12px;
   letter-spacing: .4px;
}
/* Zebra striping */
#wpp-bulk-button-theme-table tbody tr:nth-child(odd),
#wpp-shipping-theme-table tbody tr:nth-child(odd),
#wpp-sections-theme-table tbody tr:nth-child(odd),
#wpp-stock-label-theme-table tbody tr:nth-child(odd),
#wpp-dynamic-price-theme-table tbody tr:nth-child(odd),
#wpp-search-button-theme-table tbody tr:nth-child(odd) {
   background: #ffffff;
}
#wpp-bulk-button-theme-table tbody tr:nth-child(even),
#wpp-shipping-theme-table tbody tr:nth-child(even),
#wpp-sections-theme-table tbody tr:nth-child(even),
#wpp-stock-label-theme-table tbody tr:nth-child(even),
#wpp-dynamic-price-theme-table tbody tr:nth-child(even),
#wpp-search-button-theme-table tbody tr:nth-child(even) {
   background: #f3f4f6;
}
#wpp-bulk-button-theme-table th, #wpp-bulk-button-theme-table td,
#wpp-shipping-theme-table th, #wpp-shipping-theme-table td,
#wpp-sections-theme-table th, #wpp-sections-theme-table td,
#wpp-stock-label-theme-table th, #wpp-stock-label-theme-table td,
#wpp-dynamic-price-theme-table th, #wpp-dynamic-price-theme-table td,
#wpp-search-button-theme-table th, #wpp-search-button-theme-table td {
   padding: 8px 10px;
   vertical-align: middle;
   border: 0;
   font-size: 12px;
}
#wpp-bulk-button-theme-table tbody tr + tr td,
#wpp-shipping-theme-table tbody tr + tr td,
#wpp-sections-theme-table tbody tr + tr td,
#wpp-stock-label-theme-table tbody tr + tr td,
#wpp-dynamic-price-theme-table tbody tr + tr td,
#wpp-search-button-theme-table tbody tr + tr td {
   border-top: 1px solid #eef2f6;
}
/* Subtle hover for better scanning */
#wpp-bulk-button-theme-table tbody tr:hover,
#wpp-shipping-theme-table tbody tr:hover,
#wpp-sections-theme-table tbody tr:hover,
#wpp-stock-label-theme-table tbody tr:hover,
#wpp-dynamic-price-theme-table tbody tr:hover,
#wpp-search-button-theme-table tbody tr:hover {
   background: #e0f2fe; /* subtle blue tint on hover */
}
/* Inputs inside tables */
#wpp-bulk-button-theme-table input[type=color],
#wpp-shipping-theme-table input[type=color],
#wpp-sections-theme-table input[type=color],
#wpp-stock-label-theme-table input[type=color],
#wpp-dynamic-price-theme-table input[type=color],
#wpp-search-button-theme-table input[type=color],
#wpp-bulk-button-theme-table input[type=text],
#wpp-shipping-theme-table input[type=text],
#wpp-sections-theme-table input[type=text],
#wpp-stock-label-theme-table input[type=text],
#wpp-dynamic-price-theme-table input[type=text],
#wpp-search-button-theme-table input[type=text],
#wpp-bulk-button-theme-table input[type=number],
#wpp-shipping-theme-table input[type=number],
#wpp-sections-theme-table input[type=number],
#wpp-stock-label-theme-table input[type=number],
#wpp-dynamic-price-theme-table input[type=number],
#wpp-search-button-theme-table input[type=number] {
   box-shadow: 0 0 0 1px #cbd5e1 inset;
   border: 1px solid #cbd5e1;
   border-radius: 4px;
   background: #ffffff;
   font-size: 12px;
}
#wpp-bulk-button-theme-table input:focus,
#wpp-shipping-theme-table input:focus,
#wpp-sections-theme-table input:focus,
#wpp-stock-label-theme-table input:focus,
#wpp-dynamic-price-theme-table input:focus,
#wpp-search-button-theme-table input:focus {
   outline: 2px solid #3b82f6;
   outline-offset: 0;
   box-shadow: 0 0 0 1px #3b82f6 inset;
   border-color: #3b82f6;
}
/* Code tags inside description cells */
#wpp-bulk-button-theme-table code,
#wpp-shipping-theme-table code,
#wpp-sections-theme-table code {
   background: #eef2f7;
   padding: 2px 5px;
   border-radius: 4px;
   font-size: 11px;
   font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}
/* Description paragraphs under tables */
.wpp-admin-tabpanel p.description { font-size: 12px; line-height: 1.4; }

/* --------------------------------------------------
   Custom Admin Color Picker
--------------------------------------------------- */
.wpp-color-hidden { position: absolute; left: -9999px; top: -9999px; visibility: hidden; }
.wpp-color-picker { display:inline-flex; align-items:center; gap:6px; position:relative; }
.wpp-color-swatch { width:28px; height:28px; border-radius:999px; border:2px solid #1f2937; background:var(--wpp-color-current,#ffffff); cursor:pointer; padding:0; box-shadow:0 1px 2px rgba(0,0,0,.15) inset, 0 0 0 1px rgba(255,255,255,.4); }
.wpp-color-swatch:focus { outline:2px solid #2563eb; outline-offset:2px; }
.wpp-color-edit { background:#1f2937; color:#fff; border:0; border-radius:4px; width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 1px 2px rgba(0,0,0,.2); }
.wpp-color-edit:hover { background:#374151; }
.wpp-color-edit:focus { outline:2px solid #2563eb; outline-offset:2px; }
.wpp-color-popover { position:absolute; z-index:9999; width:260px; background:#fff; border:1px solid #d1d5db; border-radius:8px; padding:12px; box-shadow:0 8px 30px -4px rgba(0,0,0,.15), 0 0 0 1px rgba(0,0,0,.04); }
.wpp-color-gradient-wrap { position:relative; height:140px; border-radius:6px; overflow:hidden; cursor:crosshair; }
.wpp-color-gradient { position:absolute; inset:0; }
.wpp-color-cursor { position:absolute; width:14px; height:14px; border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 1px #000, 0 2px 4px rgba(0,0,0,.4); transform:translate(-50%,-50%); pointer-events:none; }
.wpp-color-slider { position:relative; height:14px; margin:10px 0; border-radius:6px; background:linear-gradient(to right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00); cursor:pointer; }
.wpp-color-slider.wpp-alpha { background:repeating-conic-gradient(#ccc 0% 25%,transparent 0% 50%) 50% / 12px 12px; }
.wpp-color-alpha-bg, .wpp-color-alpha-fill { position:absolute; inset:0; border-radius:6px; }
.wpp-color-alpha-fill { mix-blend-mode:normal; }
.wpp-color-slider-thumb { position:absolute; top:50%; width:14px; height:14px; background:#fff; border:2px solid #1f2937; border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,.4); transform:translate(-50%,-50%); pointer-events:none; }
.wpp-color-meta { display:flex; align-items:center; gap:8px; margin-top:8px; }
.wpp-color-preview { width:34px; height:34px; border-radius:6px; border:2px solid #1f2937; box-shadow:0 1px 2px rgba(0,0,0,.25); }
.wpp-color-hex { flex:1; font-size:12px; padding:6px 8px; border:1px solid #cbd5e1; border-radius:4px; font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; }
.wpp-color-hex:focus { outline:2px solid #2563eb; outline-offset:0; border-color:#2563eb; }
.wpp-color-default-row { display:flex; justify-content:space-between; gap:6px; margin-top:10px; }
.wpp-color-default-row .button { flex:1; font-size:11px; padding:4px 0; }
@media (max-width:480px){ .wpp-color-popover { width:230px; } }

/* --------------------------------------------------
   Variation Bulk Discount Overrides - Spacing Tweaks
   Adds slight left inset and separation between toggle button and state badge.
--------------------------------------------------- */
#wpp-bulk-variation-overrides .wpp-var-bulk-head { padding-left:8px; }
#wpp-bulk-variation-overrides .wpp-var-bulk-head h5 .wpp-badge-enabled,
#wpp-bulk-variation-overrides .wpp-var-bulk-head h5 .wpp-badge-disabled { margin-left:6px; }
#wpp-bulk-variation-overrides .wpp-var-bulk-head h5 { display:flex; align-items:center; gap:6px; }
#wpp-bulk-variation-overrides .wpp-var-bulk-head .wpp-var-bulk-toggle { display:inline-flex; align-items:center; }

/* --------------------------------------------------
   Variation Add-on Product Overrides
   Ensure labels inside rows have zero margin to override
   WooCommerce panel default spacing.
--------------------------------------------------- */
#wpp-variation-addon-overrides .wpp-var-addon-grid label { margin:0; }
#wpp-variation-addon-overrides .wpp-var-addon-row label { margin:0; }

/* Layout/visibility for add-on override header */
#wpp-variation-addon-overrides .wpp-var-addon-row { padding:8px 10px; border-top:1px solid #e2e8f0; }
#wpp-variation-addon-overrides .wpp-var-addon-row:first-of-type { border-top:0; }
#wpp-variation-addon-overrides .wpp-var-addon-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin:0 1rem; padding:10px 0; }
#wpp-variation-addon-overrides .wpp-var-addon-head h5 { margin:0; font-size:12px; font-weight:600; display:flex; align-items:center; gap:6px; }
#wpp-variation-addon-overrides .wpp-var-addon-head label { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:600; }
#wpp-variation-addon-overrides .wpp-var-addon-box { margin-left:1rem; }

/* Pill badges for Add-on Override state */
#wpp-variation-addon-overrides .wpp-var-badge-enabled,
#wpp-variation-addon-overrides .wpp-var-badge-inherit { display:inline-block; font-size:9px; line-height:1; padding:3px 8px; border-radius:999px; font-weight:600; letter-spacing:.5px; }
#wpp-bulk-variation-overrides .wpp-badge-enabled,
#wpp-bulk-variation-overrides .wpp-badge-disabled,
#wpp-variation-addon-overrides .wpp-var-badge-enabled,
#wpp-variation-addon-overrides .wpp-var-badge-inherit { display:inline-flex; align-items:center; }
#wpp-variation-addon-overrides .wpp-var-badge-enabled { background:#0d9488; color:#fff; }
#wpp-variation-addon-overrides .wpp-var-badge-inherit { background:#64748b; color:#fff; }
#wpp-bulk-variation-overrides .form-field {padding: 0 0.8rem !important;}