.tm-button,
.tm-button--primary,
.tm-button--secondary,
.tm-button--ghost,
.tm-button--danger,
.tm-button--text,
.tm-icon-button {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: var(--tm-space-xs);
	padding: 0.7rem 1rem;
	border: 1px solid transparent;
	border-radius: var(--tm-radius-button);
	font-family: var(--tm-font-body);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}
.tm-button,.tm-button--primary{background:var(--tm-color-accent);color:#fff}.tm-button:hover,.tm-button--primary:hover{background:var(--tm-color-accent-hover);color:#fff}.tm-button:active,.tm-button--primary:active{background:var(--tm-color-accent-active);transform:translateY(1px)}.tm-button--secondary{border-color:var(--tm-color-border-strong);background:var(--tm-color-surface-raised);color:var(--tm-color-text)}.tm-button--ghost{border-color:var(--tm-color-border-strong);background:transparent;color:var(--tm-color-text)}.tm-button--text{min-height:44px;padding-inline:.25rem;background:transparent;color:var(--tm-color-accent)}.tm-button--danger{background:var(--tm-color-error);color:#fff}.tm-button--small{min-height:36px;padding:.45rem .75rem;font-size:.78rem}.tm-button--full{width:100%}.tm-icon-button{width:44px;padding:0;border-color:var(--tm-color-border);background:var(--tm-color-surface);color:var(--tm-color-text)}.tm-button[disabled],.tm-button[aria-disabled=true],.tm-button.is-loading,.tm-icon-button[disabled]{cursor:not-allowed;opacity:.58}.tm-button.is-loading::before{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;content:"";animation:tm-spin .7s linear infinite}
.tm-icon{display:inline-block;flex:0 0 auto;width:1.25em;height:1.25em;vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tm-card{overflow:hidden;border:1px solid var(--tm-color-border);border-radius:var(--tm-radius-card);background:var(--tm-color-surface)}.tm-card--raised{border-color:transparent;background:var(--tm-color-surface-raised);box-shadow:var(--tm-shadow-raised)}.tm-card--editorial{border:0;background:linear-gradient(145deg,var(--tm-color-surface-raised),var(--tm-color-surface))}.tm-card__content{padding:var(--tm-card-padding)}.tm-card__media{display:block;overflow:hidden;background:var(--tm-color-bg-deep)}
.tm-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .55rem;border-radius:var(--tm-radius-pill);background:var(--tm-color-surface-interactive);color:var(--tm-color-text);font-size:var(--tm-type-caption);font-weight:700;line-height:1.2}.tm-badge--sale{background:var(--tm-color-sale);color:#fff}.tm-badge--success,.tm-badge--stock{background:color-mix(in srgb,var(--tm-color-success) 24%,var(--tm-color-surface));color:#c9f0d0}.tm-badge--warning{background:color-mix(in srgb,var(--tm-color-warning) 24%,var(--tm-color-surface));color:#ffe1a4}.tm-badge--danger,.tm-badge--error{background:color-mix(in srgb,var(--tm-color-error) 24%,var(--tm-color-surface));color:#ffd0cc}.tm-badge--info{background:color-mix(in srgb,var(--tm-color-info) 24%,var(--tm-color-surface));color:#d4ecfb}
.tm-alert,.tm-notice{display:grid;grid-template-columns:auto 1fr;gap:.75rem;padding:1rem;border-left:4px solid var(--tm-color-info);border-radius:var(--tm-radius-control);background:var(--tm-color-surface-raised);color:var(--tm-color-text)}.tm-alert--success,.tm-notice--success,.woocommerce-message{border-color:var(--tm-color-success)}.tm-alert--warning,.tm-notice--warning{border-color:var(--tm-color-warning)}.tm-alert--error,.tm-notice--error,.woocommerce-error{border-color:var(--tm-color-error)}.tm-alert--neutral{border-color:var(--tm-color-border-strong)}.tm-alert__content>*:last-child,.tm-notice>*:last-child{margin-bottom:0}
.tm-field{display:grid;gap:.4rem}.tm-field__label{color:var(--tm-color-text);font-size:.875rem;font-weight:700}.tm-field__help{color:var(--tm-color-text-muted);font-size:var(--tm-type-caption)}.tm-field__required{color:var(--tm-color-warning)}.tm-field input,.tm-field select,.tm-field textarea{width:100%;min-height:44px;border:1px solid var(--tm-color-border-strong);border-radius:var(--tm-radius-control);background:var(--tm-color-bg-deep);color:var(--tm-color-text)}.tm-field [aria-invalid=true]{border-color:var(--tm-color-error)}.tm-field__error{color:#ffb9b4;font-size:.82rem}.tm-field input:disabled,.tm-field select:disabled,.tm-field textarea:disabled{color:var(--tm-color-disabled);cursor:not-allowed}.tm-field input:-webkit-autofill{-webkit-text-fill-color:var(--tm-color-text);box-shadow:0 0 0 1000px var(--tm-color-bg-deep) inset}
.tm-accordion{border-top:1px solid var(--tm-color-border)}.tm-accordion__item{border-bottom:1px solid var(--tm-color-border)}.tm-accordion__heading{margin:0}.tm-accordion__trigger{display:flex;width:100%;min-height:52px;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border:0;border-radius:0;background:transparent;color:var(--tm-color-text);font:700 1rem var(--tm-font-body);text-align:left;text-transform:none}.tm-accordion__panel{padding:0 2rem 1rem 0}.tm-accordion__indicator{font-size:1.4rem}
.tm-drawer[hidden],.tm-modal[hidden]{display:none}.tm-drawer{position:fixed;z-index:1100;inset:0}.tm-drawer__backdrop,.tm-modal__backdrop{position:absolute;inset:0;border:0;border-radius:0;background:var(--tm-color-overlay)}.tm-drawer__panel{position:absolute;inset:0 0 0 auto;width:min(92vw,26rem);padding:max(1rem,var(--tm-safe-top)) max(1rem,var(--tm-safe-right)) max(1rem,var(--tm-safe-bottom)) 1rem;overflow:auto;background:var(--tm-color-bg);box-shadow:var(--tm-shadow-drawer)}.tm-drawer__header,.tm-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tm-components-lock{overflow:hidden}
.tm-modal{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:1rem}.tm-modal__dialog{position:relative;width:min(100%,42rem);max-height:calc(100vh - 2rem);padding:1.25rem;overflow:auto;border:1px solid var(--tm-color-border);border-radius:var(--tm-radius-card);background:var(--tm-color-surface);box-shadow:var(--tm-shadow-modal)}
.tm-empty-state{padding:clamp(1.5rem,5vw,3rem);border-radius:var(--tm-radius-card);background:var(--tm-color-surface);text-align:center}.tm-empty-state__icon{display:grid;width:3rem;height:3rem;margin:0 auto 1rem;place-items:center;border-radius:50%;background:var(--tm-color-surface-raised);color:var(--tm-color-accent)}.tm-empty-state__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.25rem}
.tm-trust-list{display:grid;gap:var(--tm-grid-gap);padding:0;margin:0;list-style:none}.tm-trust-card{display:grid;grid-template-columns:auto 1fr;gap:.85rem;padding:var(--tm-card-padding);border-radius:var(--tm-radius-card);background:var(--tm-color-surface)}.tm-trust-card .tm-icon{color:var(--tm-color-accent)}.tm-trust-card h3{margin-bottom:.35rem}.tm-trust-card p{margin-bottom:.5rem}.tm-trust-list--compact{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.tm-trust-list--compact .tm-trust-card{padding:.85rem;background:transparent}
.tm-loading-spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--tm-color-border-strong);border-right-color:var(--tm-color-accent);border-radius:50%;animation:tm-spin .7s linear infinite}.tm-skeleton{min-height:1rem;border-radius:.35rem;background:linear-gradient(90deg,var(--tm-color-surface),var(--tm-color-surface-raised),var(--tm-color-surface));background-size:200% 100%;animation:tm-skeleton 1.2s linear infinite}.tm-skeleton--card{min-height:18rem;border-radius:var(--tm-radius-card)}
.tm-comparison-scroll{overflow-x:auto;overscroll-behavior-inline:contain}.tm-comparison{width:100%;min-width:42rem;border-collapse:collapse}.tm-comparison caption{text-align:left}.tm-comparison th,.tm-comparison td{padding:1rem;border-bottom:1px solid var(--tm-color-border);text-align:left;vertical-align:top}.tm-comparison thead th{background:var(--tm-color-surface-raised)}.tm-comparison tbody th{position:sticky;left:0;z-index:1;min-width:9rem;background:var(--tm-color-bg)}.tm-comparison__product img{width:8rem;height:8rem;object-fit:cover;border-radius:var(--tm-radius-control)}
.tm-share{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.tm-share__status{flex-basis:100%;color:var(--tm-color-success);font-size:.82rem}.tm-shipping-estimate{display:grid;gap:.5rem;padding:1rem;border-left:3px solid var(--tm-color-accent);background:var(--tm-color-surface)}
@keyframes tm-spin{to{transform:rotate(360deg)}}@keyframes tm-skeleton{to{background-position:-200% 0}}@media(max-width:37.49rem){.tm-button--mobile-full{width:100%}.tm-modal--mobile-full{padding:0}.tm-modal--mobile-full .tm-modal__dialog{width:100%;height:100%;max-height:none;border-radius:0}}@media(prefers-reduced-motion:reduce){.tm-button,.tm-drawer__panel,.tm-modal__dialog{transition:none}.tm-loading-spinner,.tm-button.is-loading::before{animation-duration:1.5s}.tm-skeleton{animation:none}}
