/* SegmentedToggle — brand-styled segmented toggle for Beaver Builder templates
 * Port of kc-checkout's React SegmentedToggle component
 * Colors: burgundy #871E29, fog-100 #EDEBE8, ink #282625
 */

.kc-segmented-toggle {
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 9999px !important;
  background-color: #EDEBE8 !important;
  padding: 4px !important;
  gap: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.kc-segmented-toggle--sm {
  padding: 2px !important;
}

.kc-segmented-toggle--lg {
  padding: 5px !important;
}

.kc-segmented-toggle--xl {
  padding: 6px !important;
}

.kc-segmented-toggle--error {
  box-shadow: 0 0 0 2px #EF4444 !important;
}

/* Toggle button */
.kc-segmented-toggle .kc-segmented-toggle__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 9999px !important;
  border: none !important;
  background: transparent !important;
  background-color: transparent !important;
  color: rgba(40, 38, 37, 0.5) !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
  padding: 10px 20px !important;
  gap: 8px !important;
  cursor: pointer !important;
  user-select: none !important;
  transition: all 300ms ease-in-out !important;
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  margin: 0 !important;
}

.kc-segmented-toggle .kc-segmented-toggle__btn:hover {
  color: rgba(40, 38, 37, 0.7) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.kc-segmented-toggle .kc-segmented-toggle__btn:focus,
.kc-segmented-toggle .kc-segmented-toggle__btn:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(135, 30, 41, 0.2) !important;
  border: none !important;
  background: transparent !important;
}

.kc-segmented-toggle .kc-segmented-toggle__btn:active {
  background: transparent !important;
  border: none !important;
}

/* Text sizes: sm 12px, md 16px (default), lg 20px, xl 30px */
.kc-segmented-toggle--sm .kc-segmented-toggle__btn {
  font-size: 12px !important;
  line-height: 1.3 !important;
  padding: 6px 14px !important;
  gap: 5px !important;
}

.kc-segmented-toggle--lg .kc-segmented-toggle__btn {
  font-size: 20px !important;
  line-height: 1.3 !important;
  padding: 12px 28px !important;
  gap: 10px !important;
}

.kc-segmented-toggle--xl .kc-segmented-toggle__btn {
  font-size: 30px !important;
  line-height: 1.3 !important;
  padding: 16px 36px !important;
  gap: 12px !important;
}

/* Active state */
.kc-segmented-toggle .kc-segmented-toggle__btn[aria-checked="true"] {
  background-color: #871E29 !important;
  background: #871E29 !important;
  color: #FFFFFF !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.kc-segmented-toggle .kc-segmented-toggle__btn[aria-checked="true"]:hover {
  background-color: #6B1720 !important;
  background: #6B1720 !important;
  color: #FFFFFF !important;
  border: none !important;
}

.kc-segmented-toggle .kc-segmented-toggle__btn[aria-checked="true"]:focus,
.kc-segmented-toggle .kc-segmented-toggle__btn[aria-checked="true"]:focus-visible {
  background-color: #871E29 !important;
  background: #871E29 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 0 2px rgba(135, 30, 41, 0.2) !important;
}

/* Disabled state */
.kc-segmented-toggle .kc-segmented-toggle__btn[disabled] {
  cursor: not-allowed !important;
  opacity: 0.6 !important;
}

/* Checkmark / icon container */
.kc-segmented-toggle__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: all 300ms ease-in-out;
  flex-shrink: 0;
}

/* Animated icon — only visible when active */
.kc-segmented-toggle__icon--animated {
  width: 0;
  opacity: 0;
}

.kc-segmented-toggle__btn[aria-checked="true"] .kc-segmented-toggle__icon--animated {
  width: 16px;
  opacity: 1;
}

.kc-segmented-toggle--sm .kc-segmented-toggle__btn[aria-checked="true"] .kc-segmented-toggle__icon--animated {
  width: 12px;
}

.kc-segmented-toggle--lg .kc-segmented-toggle__btn[aria-checked="true"] .kc-segmented-toggle__icon--animated {
  width: 20px;
}

.kc-segmented-toggle--xl .kc-segmented-toggle__btn[aria-checked="true"] .kc-segmented-toggle__icon--animated {
  width: 28px;
}

/* Static icon — always visible */
.kc-segmented-toggle__icon--static {
  width: auto;
  opacity: 1;
}

/* Legacy class support */
.kc-segmented-toggle__check {
  display: flex;
  align-items: center;
  overflow: hidden;
  transition: all 300ms ease-in-out;
  width: 0;
  opacity: 0;
}

.kc-segmented-toggle__btn[aria-checked="true"] .kc-segmented-toggle__check {
  width: 16px;
  opacity: 1;
}

.kc-segmented-toggle--sm .kc-segmented-toggle__btn[aria-checked="true"] .kc-segmented-toggle__check {
  width: 12px;
}

.kc-segmented-toggle--lg .kc-segmented-toggle__btn[aria-checked="true"] .kc-segmented-toggle__check {
  width: 20px;
}

.kc-segmented-toggle--xl .kc-segmented-toggle__btn[aria-checked="true"] .kc-segmented-toggle__check {
  width: 28px;
}

.kc-segmented-toggle__icon svg,
.kc-segmented-toggle__check svg {
  flex-shrink: 0;
}

/* Description text (optional) */
.kc-segmented-toggle__desc {
  font-size: 0.75rem;
  white-space: nowrap;
  color: rgba(40, 38, 37, 0.4);
}

.kc-segmented-toggle__btn[aria-checked="true"] .kc-segmented-toggle__desc {
  color: rgba(255, 255, 255, 0.7);
}
