
.tirebox-contact {
  --contact-size: 60px;
  position: fixed;
  right: max(24px, env(safe-area-inset-right));
  bottom: calc(24px + env(safe-area-inset-bottom));
  z-index: 95;
  width: 288px;
  max-width: calc(100vw - 32px);
  height: var(--contact-size);
  color: #fff;
  font-family: var(--font, Inter, Arial, sans-serif);
  line-height: 1.2;
  pointer-events: none;
  isolation: isolate;
  filter: drop-shadow(0 6px 14px #0003);
}
.tirebox-contact *, .tirebox-contact *::before, .tirebox-contact *::after { box-sizing: border-box; }
.tirebox-contact-surface {
  position: absolute;
  inset: 0;
  background: var(--brand-red, var(--red, #c41e2a));
  border: 1px solid #ffffff30;
  border-radius: 999px;
  clip-path: inset(0 0 0 calc(100% - var(--contact-size)) round 999px);
  transition: clip-path 200ms var(--ease-out, cubic-bezier(0.23, 1, 0.32, 1));
}
.tirebox-contact[data-open="true"] .tirebox-contact-surface { clip-path: inset(0 0 0 0 round 999px); }
.tirebox-contact-link, .tirebox-contact-toggle {
  position: absolute;
  top: 0;
  height: var(--contact-size);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  text-decoration: none;
  text-transform: none;
  letter-spacing: normal;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.tirebox-contact-link { inset-inline: 0 var(--contact-size); border-radius: 999px 0 0 999px; }
/* Keep the circular control when a site applies a global square-button reset. */
.tirebox-contact-toggle { right: 0; width: var(--contact-size); border-radius: 50% !important; pointer-events: auto; }
.tirebox-contact-toggle[hidden] { display: none; }
.tirebox-contact-label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  height: 100%;
  padding-left: 22px;
  white-space: nowrap;
  opacity: 0;
  transform: translateX(12px);
  transition: opacity 200ms var(--ease-out, cubic-bezier(0.23, 1, 0.32, 1)), transform 200ms var(--ease-out, cubic-bezier(0.23, 1, 0.32, 1));
}
.tirebox-contact-label strong { font: 650 14px/1.25 var(--font, Inter, Arial, sans-serif); letter-spacing: -.01em; color: inherit; }
.tirebox-contact-label small { font: 400 11px/1.25 var(--font, Inter, Arial, sans-serif); letter-spacing: .01em; color: #ffffffd9; }
.tirebox-contact[data-open="true"] .tirebox-contact-label { opacity: 1; transform: translateX(0); }
.tirebox-contact[data-open="true"] .tirebox-contact-link { pointer-events: auto; }
.tirebox-contact-icon, .tirebox-contact-close-icon, .tirebox-contact-fallback-icon {
  position: absolute;
  width: 24px;
  height: 24px;
  top: calc((var(--contact-size) - 24px) / 2);
  right: calc((var(--contact-size) - 24px) / 2);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.tirebox-contact-icon, .tirebox-contact-close-icon { transition: opacity 160ms var(--ease-out, cubic-bezier(0.23, 1, 0.32, 1)), transform 160ms var(--ease-out, cubic-bezier(0.23, 1, 0.32, 1)); }
.tirebox-contact-close-icon { opacity: 0; transform: scale(.95); }
.tirebox-contact[data-open="true"] .tirebox-contact-icon { opacity: 0; transform: scale(.95); }
.tirebox-contact[data-open="true"] .tirebox-contact-close-icon { opacity: 1; transform: scale(1); }
.tirebox-contact[data-ready="true"] .tirebox-contact-fallback-icon { display: none; }
.tirebox-contact:not([data-ready="true"]) .tirebox-contact-link { left: auto; right: 0; width: var(--contact-size); pointer-events: auto; border-radius: 50%; }
.tirebox-contact-link:focus-visible, .tirebox-contact-toggle:focus-visible { outline: 2px solid #fff; outline-offset: -5px; }
@media (hover: hover) and (pointer: fine) {
  .tirebox-contact-toggle:hover { background: #ffffff16; }
  .tirebox-contact-link:hover { color: #fff; text-decoration: none; }
  .tirebox-contact-link:hover strong { text-decoration: underline; text-underline-offset: 3px; }
}
@media (min-width: 1101px) {
  body.has-desktop-package-guide .tirebox-contact { bottom: calc(var(--desktop-guide-height, 200px) + 16px + env(safe-area-inset-bottom)); }
}
@media (max-width: 600px) {
  .tirebox-contact { --contact-size: 56px; width: 276px; right: max(16px, env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom)); }
  .tirebox-contact-label { padding-left: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .tirebox-contact-surface { transition: none; }
  .tirebox-contact-label, .tirebox-contact-icon, .tirebox-contact-close-icon { transform: none !important; transition: opacity 200ms var(--ease-out, cubic-bezier(0.23, 1, 0.32, 1)); }
}
.tirebox-contact[data-instant="true"] * { transition: none !important; }
@media print { .tirebox-contact { display: none; } }
