/* Felix shared button contract, 2026-10-12. */
:root{--felix-action:#ff0089;--felix-focus:#007c9d}
button,.btn,[role="button"]{touch-action:manipulation}
button:not(.catalog-picture):not(.matbaa-product-image),.btn{min-height:44px;border-radius:12px;font-weight:700;line-height:1.3;cursor:pointer}
button:focus-visible,.btn:focus-visible,[role="button"]:focus-visible{outline:3px solid var(--felix-focus);outline-offset:3px}
button:disabled,.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.btn-pink,button.primary{background:var(--felix-action);color:white;border-color:var(--felix-action)}
.btn-pink:hover:not(:disabled),button.primary:hover:not(:disabled){background:#d90075}
.catalog-close,.catalog-enlarge,.matbaa-close,.workshop-close{min-width:44px;min-height:44px}
@media(max-width:700px){button,.btn{max-width:100%;overflow-wrap:anywhere}input,select,textarea{font-size:16px}.buttons,.toolbar,.plotter-tabs{flex-wrap:wrap;gap:8px}}
/* Compact duba / stand cards: keep the large product image, remove stretched copy. */
.catalog-dialog[data-snapper=true] .catalog-grid{grid-auto-rows:auto!important;align-items:start!important}
.catalog-dialog[data-snapper=true] .stand-card{height:auto;min-height:0;align-self:start}
.catalog-dialog[data-snapper=true] .stand-card .catalog-info{flex:0 0 auto;min-height:0!important;padding:12px!important;gap:6px!important}
.catalog-dialog[data-snapper=true] .stand-card .catalog-info h3{min-height:0!important;margin:0!important;line-height:1.3}
.catalog-dialog[data-snapper=true] .stand-card .catalog-info p{min-height:0!important;margin:0!important}
.catalog-dialog[data-snapper=true] .stand-card .stand-details{line-height:1.4}
.catalog-dialog[data-snapper=true] .stand-card .catalog-light-row{margin-top:0!important;padding-top:0;gap:8px}
.catalog-dialog[data-snapper=true] .stand-card .catalog-select{margin-top:0!important}
.catalog-dialog[data-snapper=true] .stand-card .model-favorite{margin-top:0!important}
