@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Montserrat:wght@400;500;600&display=swap');

.to-concierge,
.to-concierge-launch {
  --to-burgundy: #64152f;
  --to-burgundy-dark: #4a1025;
  --to-ivory: #faf7f2;
  --to-rose: #e6d7dc;
  --to-pink: #c93b72;
  --to-ink: #2b2527;
  --to-white: #fff;
  box-sizing: border-box;
}

.to-concierge *,
.to-concierge-launch * {
  box-sizing: border-box;
}

.to-concierge-launch {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 99998;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 20px;
  border: 1px solid var(--to-burgundy) !important;
  border-radius: 0 !important;
  background: var(--to-burgundy) !important;
  color: var(--to-white) !important;
  box-shadow: 0 12px 34px rgba(74, 16, 37, .22);
  font: 600 12px/1 Montserrat, sans-serif !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.to-concierge-launch:hover,
.to-concierge-launch:focus-visible {
  border-color: var(--to-burgundy-dark) !important;
  background: var(--to-burgundy-dark) !important;
  color: var(--to-white) !important;
  outline: none;
  transform: translateY(-1px);
}

.to-concierge-launch span:first-child {
  font-size: 22px;
  line-height: 0;
}

.to-concierge {
  position: fixed;
  right: 24px;
  bottom: 82px;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  width: min(400px, calc(100vw - 32px));
  height: min(650px, calc(100vh - 115px));
  overflow: hidden;
  border: 1px solid var(--to-rose) !important;
  border-radius: 0 !important;
  background: var(--to-ivory) !important;
  box-shadow: 0 24px 70px rgba(38, 14, 23, .25);
  color: var(--to-ink) !important;
  font-family: Montserrat, sans-serif !important;
}

.to-concierge[hidden] {
  display: none !important;
}

.to-concierge > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 19px 20px;
  border: 0 !important;
  background: var(--to-burgundy) !important;
  color: var(--to-white) !important;
}

.to-concierge > header small {
  display: block;
  color: var(--to-ivory) !important;
  font: 500 10px/1.3 Montserrat, sans-serif !important;
  letter-spacing: .22em;
  text-transform: uppercase;
  opacity: .9;
}

.to-concierge > header h2,
.to-concierge h2 {
  margin: 7px 0 0 !important;
  color: var(--to-ivory) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.to-concierge-close {
  min-width: 34px;
  min-height: 34px;
  padding: 0 0 10px 10px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--to-ivory) !important;
  font: 400 28px/1 Montserrat, sans-serif !important;
  cursor: pointer;
}

.to-concierge-close:hover,
.to-concierge-close:focus-visible {
  background: var(--to-burgundy-dark) !important;
  color: var(--to-white) !important;
  outline: none;
}

.to-concierge-messages {
  flex: 1;
  padding: 20px;
  overflow: auto;
  background: var(--to-ivory);
}

.to-message {
  max-width: 88%;
  margin: 0 0 14px;
  padding: 12px 14px;
  color: var(--to-ink);
  font: 400 14px/1.55 Montserrat, sans-serif;
}

.to-message p {
  margin: 0;
  color: inherit;
}

.to-message-assistant {
  border: 1px solid var(--to-rose);
  background: var(--to-white);
}

.to-message-user {
  margin-left: auto;
  background: var(--to-burgundy);
  color: var(--to-white);
}

.to-message.is-loading {
  opacity: .65;
}

.to-message-actions {
  display: grid;
  gap: 7px;
  margin-top: 12px;
}

.to-message-actions a {
  display: block;
  padding: 9px 11px;
  border: 1px solid var(--to-burgundy) !important;
  background: var(--to-ivory) !important;
  color: var(--to-burgundy) !important;
  font: 600 11px/1.35 Montserrat, sans-serif !important;
  letter-spacing: .06em;
  text-decoration: none !important;
  text-transform: uppercase;
}

.to-message-actions a:hover,
.to-message-actions a:focus-visible {
  background: var(--to-burgundy) !important;
  color: var(--to-white) !important;
  outline: none;
}

.to-concierge-starters {
  display: flex;
  gap: 7px;
  padding: 0 20px 12px;
  overflow: auto;
  background: var(--to-ivory);
}

.to-concierge-starters[hidden] {
  display: none !important;
}

.to-concierge-starters button {
  padding: 9px 11px;
  border: 1px solid var(--to-burgundy) !important;
  border-radius: 0 !important;
  background: var(--to-ivory) !important;
  color: var(--to-burgundy) !important;
  font: 600 11px/1.2 Montserrat, sans-serif !important;
  white-space: nowrap;
  cursor: pointer;
}

.to-concierge-starters button:hover,
.to-concierge-starters button:focus-visible {
  background: var(--to-burgundy) !important;
  color: var(--to-white) !important;
  outline: none;
}

.to-concierge-form {
  display: flex;
  gap: 8px;
  padding: 14px 16px;
  border-top: 1px solid var(--to-rose);
  background: var(--to-white);
}

.to-concierge-form textarea {
  flex: 1;
  min-height: 46px;
  max-height: 92px;
  padding: 11px !important;
  resize: none;
  border: 1px solid var(--to-rose) !important;
  border-radius: 0 !important;
  outline: none !important;
  background: var(--to-white) !important;
  box-shadow: none !important;
  color: var(--to-ink) !important;
  font: 400 13px/1.4 Montserrat, sans-serif !important;
}

.to-concierge-form textarea:focus {
  border-color: var(--to-burgundy) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px var(--to-burgundy) !important;
}

.to-concierge-form button {
  padding: 0 17px;
  border: 1px solid var(--to-burgundy) !important;
  border-radius: 0 !important;
  background: var(--to-burgundy) !important;
  color: var(--to-white) !important;
  font: 600 11px/1 Montserrat, sans-serif !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.to-concierge-form button:hover,
.to-concierge-form button:focus-visible {
  border-color: var(--to-burgundy-dark) !important;
  background: var(--to-burgundy-dark) !important;
  color: var(--to-white) !important;
  outline: none;
}

.to-concierge-form button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.to-concierge-privacy {
  margin: 0;
  padding: 0 17px 13px;
  background: var(--to-white);
  color: #786c70;
  font: 400 10px/1.45 Montserrat, sans-serif;
}

.to-concierge .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 600px) {
  .to-concierge-launch {
    right: 14px;
    bottom: 14px;
    padding: 14px;
  }

  .to-concierge-launch span:last-child {
    display: none;
  }

  .to-concierge {
    right: 8px;
    bottom: 68px;
    width: calc(100vw - 16px);
    height: calc(100vh - 84px);
  }

  .to-concierge > header h2,
  .to-concierge h2 {
    font-size: 27px !important;
  }
}
