/* Shared storefront utility actions. Never target photo tiles, Pintura or Uppy.
   Keep primary CTAs, labelled form buttons and decorative badges independent. */
.opp-native-page :is(.header-actions .icon-btn, .opp-gallery-actions button, .opp-library-view button, .pvpp-modal-close:not(.op-btn), .opp-product-choice-close, .pvpp-print-preview .nav-arrow, span.xoo-el-close),
.opp-help-widget .opp-help-close {
    box-sizing:border-box; width:44px; height:44px; min-width:44px; min-height:44px;
    padding:10px; border:0; border-radius:4px; background:transparent; box-shadow:none;
    color:#626b76; cursor:pointer; text-decoration:none;
}
.opp-native-page :is(.header-actions .icon-btn, .opp-gallery-actions button, .opp-library-view button, .pvpp-modal-close:not(.op-btn), .opp-product-choice-close, .pvpp-print-preview .nav-arrow, span.xoo-el-close):is(:hover,:focus-visible),
.opp-help-widget .opp-help-close:is(:hover,:focus-visible) {
    background:transparent; box-shadow:none; color:#0054ff;
}
.opp-native-page :is(.header-actions .icon-btn, .opp-gallery-actions button, .opp-library-view button, .pvpp-modal-close:not(.op-btn), .opp-product-choice-close, .pvpp-print-preview .nav-arrow, span.xoo-el-close):focus-visible,
.opp-help-widget .opp-help-close:focus-visible {
    outline:2px solid #0054ff; outline-offset:3px;
}
.opp-native-page :is(.header-actions .icon-btn, .opp-gallery-actions button, .opp-library-view button) svg {
    width:20px; height:20px; flex-shrink:0; stroke-width:1.6;
    stroke-linecap:round; stroke-linejoin:round;
}
.opp-native-page .opp-library-view { border:0; border-radius:0; background:transparent; padding:0; gap:4px; }
.opp-native-page .opp-library-view button { position:relative; }
.opp-native-page .opp-library-view button[aria-pressed="true"] { color:#0054ff; background:transparent; }
.opp-native-page .opp-library-view button[aria-pressed="true"]::after {
    content:""; position:absolute; height:2px; left:10px; right:10px; bottom:2px;
    border-radius:1px; background:currentColor;
}
/* Labelled utility actions keep their words and an ample click target. */
.opp-native-page .opp-inline-bulk .pvpp-bulk-icon-div button,
.opp-native-page .opp-preview-intro .refresh-gallery-link,
.opp-native-page .pvpp-print-preview .close-modal {
    min-height:44px; border:0; border-radius:4px; padding:8px 10px;
    background:transparent; box-shadow:none; color:#626b76;
}
.opp-native-page .opp-inline-bulk .pvpp-bulk-icon-div button:is(:hover,:focus-visible),
.opp-native-page .opp-preview-intro .refresh-gallery-link:is(:hover,:focus-visible),
.opp-native-page .pvpp-print-preview .close-modal:is(:hover,:focus-visible) { background:transparent; color:#0054ff; }
.opp-native-page .opp-inline-bulk .pvpp-bulk-icon-div button:focus-visible,
.opp-native-page .opp-preview-intro .refresh-gallery-link:focus-visible,
.opp-native-page .pvpp-print-preview .close-modal:focus-visible { outline:2px solid #0054ff; outline-offset:3px; }
.opp-native-page .opp-inline-bulk .pvpp-bulk-icon-div button svg { width:20px; height:20px; }
.opp-native-page .opp-gallery-actions .pvpp-post-delete,
.opp-native-page .opp-inline-bulk .pvpp-bulk-icon-div :is(.pvpp-master-delete,.pvpp-gallery-delete) { color:#ad3434; }
.opp-native-page .opp-gallery-actions .pvpp-post-delete:is(:hover,:focus-visible),
.opp-native-page .opp-inline-bulk .pvpp-bulk-icon-div :is(.pvpp-master-delete,.pvpp-gallery-delete):is(:hover,:focus-visible) { color:#842626; }
.opp-native-page .opp-cart-page table.cart a.remove {
    width:44px; height:44px; min-width:44px; min-height:44px; padding:0;
    border:0; border-radius:4px; background:transparent; box-shadow:none; color:#ad3434!important;
}
.opp-native-page .opp-cart-page table.cart a.remove:is(:hover,:focus-visible) { background:transparent; color:#842626!important; }
.opp-native-page .opp-cart-page table.cart a.remove:focus-visible { outline:2px solid #0054ff; outline-offset:3px; }
.opp-native-page :is(.opp-library-view button,.pvpp-print-preview .nav-arrow,.opp-inline-bulk button):disabled { opacity:.4; cursor:default; }
