/* Shared FlashToner design tokens and genuinely global controls. */
:root {
  --ft-ink: #101c22;
  --ft-ink-soft: #526168;
  --ft-paper: #fbfaf7;
  --ft-surface: #ffffff;
  --ft-mist: #e8f3f5;
  --ft-accent: #077f99;
  --ft-accent-strong: #05677a;
  --ft-header-menu-bg: #101c22;
  --ft-header-menu-text: #ffffff;
  --ft-header-menu-hover: #b9dfe6;
  --ft-radius-sm: 0.875rem;
  --ft-radius-md: 1.35rem;
  --ft-radius-lg: 2rem;
  --ft-shadow-soft: 0 20px 55px rgb(16 28 34 / 8%);
  --ft-motion: 500ms cubic-bezier(0.32, 0.72, 0, 1);
}

body { color: var(--ft-ink); background: var(--ft-paper); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a, button, .btn { transition: color var(--ft-motion), background-color var(--ft-motion), box-shadow var(--ft-motion), transform var(--ft-motion); }
.btn-primary, .product-add-to-cart .add-to-cart { border: 0; border-radius: 999px; background: var(--ft-accent); box-shadow: 0 10px 28px rgb(7 127 153 / 20%); font-weight: 650; }
.btn-primary:hover, .product-add-to-cart .add-to-cart:hover { background: var(--ft-accent-strong); box-shadow: 0 14px 34px rgb(7 127 153 / 26%); transform: translateY(-2px); }
.btn-primary:active, .product-add-to-cart .add-to-cart:active { transform: scale(0.98); }

.product-miniature .tvproduct-wrapper, .block-category, .card { border: 0; border-radius: var(--ft-radius-md); background: var(--ft-surface); box-shadow: inset 0 0 0 1px rgb(16 28 34 / 6%), var(--ft-shadow-soft); }
.product-miniature .thumbnail-container { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.product-miniature .tvproduct-wrapper { overflow: hidden; margin-bottom: 0; transition: box-shadow var(--ft-motion), transform var(--ft-motion); }
.product-miniature:hover .tvproduct-wrapper { box-shadow: inset 0 0 0 1px rgb(7 127 153 / 12%), 0 26px 65px rgb(16 28 34 / 12%); transform: translateY(-5px); }
.product-miniature img { transition: transform 700ms cubic-bezier(0.32, 0.72, 0, 1); }
.product-miniature:hover img { transform: scale(1.025); }

input, select, textarea, .form-control { border-color: transparent; border-radius: var(--ft-radius-sm); background: var(--ft-surface); box-shadow: inset 0 0 0 1px rgb(16 28 34 / 10%); transition: box-shadow var(--ft-motion), background-color var(--ft-motion); }
input:focus, select:focus, textarea:focus, .form-control:focus { border-color: transparent; box-shadow: inset 0 0 0 1px var(--ft-accent), 0 0 0 4px rgb(7 127 153 / 12%); }
::selection { color: var(--ft-ink); background: rgb(7 127 153 / 22%); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

@media (max-width: 767.98px) {
  .product-miniature:hover .tvproduct-wrapper, .product-miniature:hover img { transform: none; }
}
