/* Shared action hierarchy. Icon-only utility controls retain their own geometry. */
:root{--button-primary-height:48px;--button-secondary-height:40px;--button-tertiary-height:34px;--button-primary-font:15px;--button-secondary-font:14px;--button-tertiary-font:13px;--button-primary-icon:18px;--button-secondary-icon:16px;--button-tertiary-icon:14px}
:is(button,a.button):not(:where(.store-cart-art-open,.store-cart-art-nav button,.media-thumbnail,.media-tile-remove,.media-drag-handle,.option-drag-handle,.popup-close,.choice-edit,.item-image-square,.image-remove-dot,.image-add-dot,.admin-menu-toggle,.admin-menu-close,.admin-menu-overlay,.formula-add,.inline-plus,[data-remove-component],.supplier-chip button,.item-capsule button)){
 --button-height:var(--button-primary-height);--button-font:var(--button-primary-font);--button-icon:var(--button-primary-icon);--button-inset:18px;
 display:inline-flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;min-height:var(--button-height)!important;height:auto;padding:8px var(--button-inset)!important;font-size:var(--button-font)!important;line-height:1.2;font-weight:600;border-color:transparent!important;vertical-align:middle;
}
:is(button,a.button).secondary{--button-height:var(--button-secondary-height);--button-font:var(--button-secondary-font);--button-icon:var(--button-secondary-icon);--button-inset:14px}
:is(button,a.button):is(.link,.tertiary){--button-height:var(--button-tertiary-height);--button-font:var(--button-tertiary-font);--button-icon:var(--button-tertiary-icon);--button-inset:12px}
:is(button,a.button):not(:where(.store-cart-art-open,.store-cart-art-nav button,.media-thumbnail,.media-tile-remove,.media-drag-handle,.option-drag-handle,.popup-close,.choice-edit,.item-image-square,.image-remove-dot,.image-add-dot,.admin-menu-toggle,.admin-menu-close,.admin-menu-overlay,.formula-add,.inline-plus,[data-remove-component],.supplier-chip button,.item-capsule button))>.ui-icon{width:var(--button-icon)!important;height:var(--button-icon)!important;min-width:var(--button-icon)!important;flex:0 0 var(--button-icon);margin:0!important;vertical-align:middle}
.editor-action-buttons{align-items:center}.item-add-actions{display:flex;justify-content:flex-end;align-items:center}
/* Alert text can wrap without losing the link's internal spacing. */
.editor-action-status .link{justify-content:flex-start;text-align:left}

/* Level follows the scope of the action, independently of its colour. */
[data-button-scope="item"] :is(button,a.button),:is(button,a.button)[data-button-level="tertiary"]{--button-height:var(--button-tertiary-height);--button-font:var(--button-tertiary-font);--button-icon:var(--button-tertiary-icon);--button-inset:12px}
:is(button,a.button)[data-button-level="secondary"]{--button-height:var(--button-secondary-height);--button-font:var(--button-secondary-font);--button-icon:var(--button-secondary-icon);--button-inset:14px}
:is(button,a.button)[data-button-level="primary"]{--button-height:var(--button-primary-height);--button-font:var(--button-primary-font);--button-icon:var(--button-primary-icon);--button-inset:18px}

/* Destructive intent is independent of action level and applies to dynamic controls. */
:is(button,a).destructive-action:hover,
:is(button,a).destructive-action:focus-visible{background-color:#b42318!important;color:#fff!important;filter:none!important}
:is(button,a).destructive-action:focus-visible{outline-color:#b42318}
:is(button,a).destructive-action:hover :is(svg,.ui-icon),
:is(button,a).destructive-action:focus-visible :is(svg,.ui-icon){color:inherit!important}

/* Empty image picker: explicit visual affordance, not a textual action. */
.item-image-picker[data-has-image="0"] .item-image-square{border:1px dashed #9bada4!important}

.item-image-picker[data-has-image="1"] .item-image-square{border:1px solid #9bada4!important}
.item-image-picker[data-has-image="1"] .item-image-square>svg{display:none}

/* Shared image deletion: mouse hover, keyboard focus, always available on touch. */
.image-delete-control{box-sizing:border-box!important;width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important;max-width:26px!important;max-height:26px!important;padding:0!important;border:0!important;border-radius:50%!important;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .15s}
.image-delete-control svg{width:14px!important;height:14px!important;margin:0!important;flex:none}
:is(.product-media-tile,.item-image-picker):hover .image-delete-control,:is(.product-media-tile,.item-image-picker):focus-within .image-delete-control{opacity:1;pointer-events:auto}
@media(hover:none){.image-delete-control{opacity:1;pointer-events:auto}}

/* Storefront text actions: orange at rest; destructive hover uses brand red. */
.storefront-body :is(button,a.button):is(.link,.tertiary,.destructive-action){color:var(--store-accent,#ad4b00)!important}
.storefront-body :is(button,a.button).link.destructive-action{background:transparent!important;box-shadow:none}
.storefront-body :is(button,a.button).destructive-action:is(:hover,:focus-visible){background:#c8102e!important;color:#fff!important}
.storefront-body :is(button,a.button).destructive-action:focus-visible{outline-color:#c8102e}
.storefront-body .store-cart-controls button,.storefront-body .product-designer .art-name-control .art-name-edit{color:var(--store-accent,#ad4b00)!important}
.storefront-body .store-cart-controls button.destructive-action:is(:hover,:focus-visible){color:#fff!important}
