/* Shared action surfaces. Navigation and links inside prose retain their own style. */
.text-link,.back-link,.pay-link,.store-contacts a{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:44px;max-width:100%;padding:11px 18px;margin:0;
  border:1px solid var(--control-border);border-radius:999px;
  background:var(--surface);color:var(--ink);
  font:700 14px/20px var(--sans);text-decoration:none;text-align:center;
  cursor:pointer;white-space:normal;overflow-wrap:anywhere;
  transition:background-color .15s,border-color .15s;
}
.text-link:hover,.back-link:hover,.pay-link:hover,.store-contacts a:hover{
  background:var(--control-hover);border-color:var(--ink);color:var(--ink);text-decoration:none;
}
.text-link:disabled,.pay-link:disabled{
  background:var(--disabled-bg);color:var(--disabled-text);border-color:var(--line);cursor:not-allowed;
}
.text-link span,.pay-link span{color:inherit}
.btn,.button,.pay-primary,.pay-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:8px;line-height:20px;white-space:normal;text-align:center}
.hero .actions{gap:12px;align-items:stretch;justify-content:flex-start}
.hero .actions .text-link{min-height:48px;border-radius:8px;padding:13px 20px}
.catalog-note{align-items:center;gap:16px}
.catalog-note a{min-height:44px;padding:11px 18px;line-height:20px;font-size:14px}
.catalog-note p{flex:1}
.back-link{margin-bottom:24px}
.pills,.product-detail .pills{display:flex;flex-wrap:wrap;gap:8px;padding:0}
.pill{border-radius:999px;padding:10px 18px;min-height:44px;min-width:88px}
.product-actions{display:grid;grid-template-columns:1fr;gap:12px;margin:24px 0}
.product-detail .product-actions .btn{margin:0;width:100%;min-height:48px}
.config .design-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 24px;padding:20px 0;border-bottom:1px solid var(--line)}
.design-toolbar .text-link{min-height:44px;padding:11px 18px;flex:0 0 auto;font-size:14px}
.design-toolbar>span{margin-left:auto;font:400 12px/18px var(--sans);color:var(--muted)}
.brand-match{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;padding:24px}
.brand-match>label{margin:0;max-width:none;min-width:0}
.brand-match .btn{align-self:end;margin:0}
.brand-match .note{grid-column:1/-1;margin:0}
.brand-file{min-width:0}
.brand-file>label{display:block;margin:0 0 8px}
.upload-control{display:flex;align-items:center;gap:12px;min-height:48px}
.upload-control .text-link{flex:none}
#brand-file-name{font-size:14px;line-height:20px;color:var(--muted);overflow-wrap:anywhere;min-width:0}
input[type=file]{font-size:14px;line-height:20px;padding:8px;min-height:48px}
input[type=file]::file-selector-button{font:700 14px/20px var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--control-border);border-radius:4px;padding:8px 12px;margin-right:12px;cursor:pointer}
.store-contacts{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.cart-bottom>.text-link{display:flex;width:100%;margin:12px 0 0}
.tile-top .text-link{min-height:40px;padding:9px 14px;font-size:12px;flex:none}
.icon-option{background:var(--surface);border:1px solid var(--control-border);border-radius:8px}
.config-grid{grid-template-columns:minmax(280px,.85fr) minmax(0,1.4fr);align-items:start;gap:24px}
#tile-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}
#tile-settings .tile-setting{margin:0;padding:16px;min-width:0}
#extra-settings:not(:empty){display:grid;gap:16px;margin-block:20px}
@media(max-width:1000px){.config-grid{grid-template-columns:1fr}}
@media(max-width:600px){#tile-settings{grid-template-columns:1fr}}
.panel-head .text-link,.page-heading .text-link{padding:11px 16px;font-size:14px;min-height:44px;flex:none}
.photo-caption .text-link{padding:9px 14px;min-height:40px;text-decoration:none}
.form-save-bar{align-items:center}
.form-save-bar p{flex:1;min-width:200px}
#count:empty,.store-contacts:empty{display:none}
@media(max-width:760px){
  .catalog-note{align-items:flex-start;flex-wrap:wrap}
  .catalog-note p{flex-basis:calc(100% - 32px)}
  .catalog-note a{margin:0 0 0 24px}
  .config .design-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .design-toolbar .text-link{min-width:0;width:100%;padding:10px 8px;border-radius:8px;font-size:14px;min-height:48px}
  .design-toolbar>span{grid-column:1/-1;margin:4px 0 0}
  .brand-match{grid-template-columns:1fr;padding:16px}
  .brand-match .btn{width:100%;align-self:stretch}
  .brand-match .note{grid-column:auto}
  .product-actions{margin-block:20px}
  .form-save-bar p{min-width:0;flex-basis:100%}
}
@media(max-width:420px){
  .hero .actions{display:grid;grid-template-columns:1fr;width:100%}
  .hero .actions>*{width:100%;justify-content:center}
  .pills .pill{flex:1;min-width:0;padding-inline:12px}
  .config .design-toolbar{grid-template-columns:1fr}
  .design-toolbar .text-link{justify-content:center}
}
