/* ==========================================================================
   KYNORIA — Quick Contact Dock
   Persistent call / WhatsApp / email access. Ship agency is a phone business:
   the duty desk should never be more than one tap away on any page.
   ========================================================================== */

.quick-contact {
  position: fixed;
  right: var(--space-5);
  bottom: var(--space-5);
  z-index: 900;
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-end;
  gap: var(--space-3);
}

.quick-contact__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: var(--navy);
  color: var(--white);
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(11, 35, 65, 0.32);
  transition: transform var(--transition-base), background var(--transition-base);
}

.quick-contact__toggle:hover,
.quick-contact__toggle:focus-visible {
  transform: translateY(-2px);
  background: var(--secondary, #1B5E8C);
}

.quick-contact__toggle svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.quick-contact__toggle .icon-close { display: none; }
.quick-contact[data-open="true"] .icon-open { display: none; }
.quick-contact[data-open="true"] .icon-close { display: block; }

.quick-contact__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.quick-contact[data-open="false"] .quick-contact__actions {
  display: none;
}

.quick-contact__action {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-5);
  border-radius: 999px;
  background: var(--white);
  color: var(--text-dark);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 4px 16px rgba(11, 35, 65, 0.18);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.quick-contact__action:hover,
.quick-contact__action:focus-visible {
  transform: translateX(-3px);
  box-shadow: 0 6px 22px rgba(11, 35, 65, 0.26);
}

.quick-contact__action svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.quick-contact__action--whatsapp svg { fill: #25D366; }
.quick-contact__action--call svg,
.quick-contact__action--email svg {
  fill: none;
  stroke: var(--navy);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.quick-contact__label small {
  display: block;
  font-size: var(--text-xs);
  font-weight: var(--weight-regular);
  color: var(--text-light);
}

@media (max-width: 640px) {
  .quick-contact {
    right: var(--space-4);
    bottom: var(--space-4);
  }
  .quick-contact__action {
    padding: var(--space-3) var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  .quick-contact__toggle,
  .quick-contact__action {
    transition: none;
  }
}

@media print {
  .quick-contact { display: none; }
}
