/* Universal MyBambook guided product assistant.
   It is positioned from the Negishot button at runtime and falls back to the
   current Negishot dimensions when that third-party script is unavailable. */

.bambook-assistant {
  --assistant-bottom: var(--assistant-default-bottom);
  --assistant-inline-start: var(--assistant-edge);
  bottom: var(--assistant-bottom);
  color: var(--ink);
  direction: rtl;
  font-family: var(--font-sans);
  inset-inline-start: var(--assistant-inline-start);
  position: fixed;
  z-index: var(--assistant-z);
}

.bambook-assistant,
.bambook-assistant *,
.bambook-assistant *::before,
.bambook-assistant *::after {
  box-sizing: border-box;
}

.bambook-assistant__launcher {
  align-items: center;
  background: var(--green);
  border: 1px solid var(--line-warm);
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-lift);
  color: var(--ivory);
  cursor: pointer;
  display: inline-flex;
  font: 700 var(--assistant-option-size) / 1 var(--font-sans);
  gap: var(--space-2);
  height: var(--assistant-control-size);
  justify-content: flex-start;
  min-inline-size: var(--assistant-launcher-min-width);
  padding-block: 0;
  padding-inline: var(--space-3) var(--space-4);
  touch-action: manipulation;
  transition: background-color var(--motion-fast) ease-out,
    box-shadow var(--motion-fast) ease-out,
    transform var(--motion-fast) ease-out;
  white-space: nowrap;
  width: auto;
}

.bambook-assistant__launcher:hover {
  background: var(--ink);
  box-shadow: var(--shadow-deep);
}

.bambook-assistant__launcher:active {
  transform: scale(var(--assistant-closed-scale));
}

.bambook-assistant__close svg,
.bambook-assistant__expand svg,
.bambook-assistant__reset svg {
  fill: none;
  height: var(--assistant-icon-size);
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: var(--assistant-icon-size);
}

.bambook-assistant__launcher-mark {
  color: var(--gold);
  display: inline-flex;
  flex: 0 0 auto;
}

.bambook-assistant__launcher-mark svg {
  fill: none;
  height: var(--assistant-launcher-mark-size);
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: var(--assistant-launcher-mark-size);
}

.bambook-assistant__launcher-leaf {
  fill: currentColor;
  stroke: none;
}

.bambook-assistant__launcher-label {
  letter-spacing: normal;
}

.bambook-assistant.is-open .bambook-assistant__launcher {
  justify-content: center;
  min-inline-size: var(--assistant-control-size);
  padding: 0;
  width: var(--assistant-control-size);
}

.bambook-assistant.is-open .bambook-assistant__launcher-label {
  display: none;
}

.bambook-assistant__launcher:focus-visible,
.bambook-assistant__close:focus-visible,
.bambook-assistant__expand:focus-visible,
.bambook-assistant__reset:focus-visible,
.bambook-assistant__choice:focus-visible,
.bambook-assistant__context-link:focus-visible,
.bambook-assistant__back:focus-visible,
.bambook-assistant__menu:focus-visible,
.bambook-assistant__product:focus-visible,
.bambook-assistant__support:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}

.bambook-assistant__panel {
  background: var(--ivory);
  border: 1px solid var(--line-soft);
  border-radius: var(--assistant-panel-radius);
  bottom: calc(var(--assistant-control-size) + var(--assistant-stack-gap));
  box-shadow: var(--shadow-deep);
  display: flex;
  flex-direction: column;
  inline-size: var(--assistant-panel-width);
  inset-inline-start: 0;
  max-block-size: min(
    var(--assistant-panel-max-height),
    calc(
      100dvh - var(--assistant-bottom) - var(--assistant-control-size) -
        var(--assistant-stack-gap) - var(--assistant-stack-gap)
    )
  );
  max-inline-size: calc(100vw - (var(--assistant-panel-gutter) * 2));
  min-block-size: min(
    var(--assistant-panel-min-height),
    calc(
      100dvh - var(--assistant-bottom) - var(--assistant-control-size) -
        var(--assistant-stack-gap) - var(--assistant-stack-gap)
    )
  );
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  transform: translateY(var(--space-2)) scale(var(--assistant-closed-scale));
  transform-origin: bottom right;
  transition: opacity var(--motion-fast) ease-out,
    transform var(--motion-standard) var(--ease-out),
    visibility 0s linear var(--motion-standard);
  visibility: hidden;
}

.bambook-assistant.is-open .bambook-assistant__panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
  transition-delay: 0s;
  visibility: visible;
}

.bambook-assistant.is-expanded .bambook-assistant__panel {
  inline-size: auto;
  inset: var(--assistant-panel-gutter);
  max-block-size: none;
  max-inline-size: none;
  min-block-size: 0;
  position: fixed;
}

.bambook-assistant__header {
  align-items: center;
  background: var(--green);
  display: flex;
  gap: var(--space-3);
  justify-content: space-between;
  padding-block: var(--space-3) var(--space-2);
  padding-inline: var(--space-5);
}

.bambook-assistant__identity {
  min-inline-size: 0;
}

.bambook-assistant__brand {
  color: var(--ivory);
  display: block;
  font-family: var(--font-sans);
  font-size: var(--assistant-title-size);
  font-weight: 700;
  line-height: 1.1;
}

.bambook-assistant .bambook-assistant__status {
  align-items: center;
  color: var(--ivory);
  display: flex;
  font-size: var(--assistant-label-size);
  font-weight: 500;
  gap: var(--space-2);
  line-height: 1.4;
  margin: var(--space-1) 0 0;
}

.bambook-assistant__status::before {
  background: var(--gold);
  border-radius: var(--radius-pill);
  content: "";
  display: inline-block;
  height: var(--space-2);
  width: var(--space-2);
}

.bambook-assistant__header-actions {
  align-items: center;
  display: flex;
  gap: var(--space-1);
}

.bambook-assistant__reset,
.bambook-assistant__expand,
.bambook-assistant__close {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--radius-pill);
  color: var(--ivory);
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  min-height: var(--assistant-touch-target);
  min-width: var(--assistant-touch-target);
  padding: var(--space-2);
  touch-action: manipulation;
  transition: background-color var(--motion-fast) ease-out,
    color var(--motion-fast) ease-out;
}

.bambook-assistant__reset svg,
.bambook-assistant__expand svg,
.bambook-assistant__close svg {
  height: var(--assistant-header-icon-size);
  width: var(--assistant-header-icon-size);
}

.bambook-assistant__reset:hover,
.bambook-assistant__expand:hover,
.bambook-assistant__close:hover {
  background: var(--line-warm);
  color: var(--ivory);
}

.bambook-assistant__expand-restore {
  display: none;
}

.bambook-assistant.is-expanded .bambook-assistant__expand-maximize {
  display: none;
}

.bambook-assistant.is-expanded .bambook-assistant__expand-restore {
  display: block;
}

.bambook-assistant__screen {
  flex: 1;
  min-block-size: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: var(--space-4);
  scrollbar-width: thin;
}

.bambook-assistant__answer-card {
  background: var(--cream);
  border: 1px solid var(--line-soft);
  border-radius: var(--assistant-option-radius);
  padding: var(--space-4);
}

.bambook-assistant__question {
  color: var(--ink);
  font: 700 var(--assistant-body-size) / 1.45 var(--font-sans);
  margin: 0;
}

.bambook-assistant__answer {
  color: var(--ink);
  font: 500 var(--assistant-body-size) / 1.65 var(--font-sans);
  margin: var(--space-3) 0 0;
  unicode-bidi: plaintext;
  white-space: pre-line;
}

.bambook-assistant__context-links,
.bambook-assistant__choices {
  display: grid;
  gap: var(--space-2);
}

.bambook-assistant__context-links {
  margin-block-start: var(--space-4);
}

.bambook-assistant__context-links[hidden],
.bambook-assistant__follow-ups[hidden] {
  display: none;
}

.bambook-assistant__follow-ups {
  margin-block-start: var(--space-4);
}

.bambook-assistant__follow-up-title {
  color: var(--taupe);
  font-size: var(--assistant-label-size);
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 var(--space-2);
  text-align: start;
}

.bambook-assistant__choice,
.bambook-assistant__context-link {
  align-items: center;
  background: var(--ivory);
  border: 1px solid var(--line);
  border-radius: var(--assistant-option-radius);
  color: var(--ink);
  cursor: pointer;
  display: flex;
  font: 600 var(--assistant-option-size) / 1.45 var(--font-sans);
  inline-size: 100%;
  min-height: var(--assistant-option-min-height);
  padding: var(--space-3) var(--space-4);
  text-align: start;
  text-decoration: none;
  touch-action: manipulation;
  transition: background-color var(--motion-fast) ease-out,
    border-color var(--motion-fast) ease-out;
}

.bambook-assistant__choice:hover,
.bambook-assistant__context-link:hover {
  background: var(--sand);
  border-color: var(--gold);
}

.bambook-assistant__choice:active,
.bambook-assistant__context-link:active {
  background: var(--cream);
}

.bambook-assistant__navigation {
  background: var(--ivory);
  border-block-start: 1px solid var(--line-soft);
  display: grid;
  gap: var(--space-2);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: var(--space-3) var(--space-4);
}

.bambook-assistant__back,
.bambook-assistant__menu,
.bambook-assistant__product {
  align-items: center;
  background: var(--ivory);
  border: 1px solid var(--line);
  border-radius: var(--assistant-option-radius);
  color: var(--ink);
  cursor: pointer;
  display: flex;
  font: 700 var(--assistant-label-size) / 1.35 var(--font-sans);
  justify-content: center;
  min-height: var(--assistant-touch-target);
  padding: var(--space-2);
  text-align: center;
  text-decoration: none;
  touch-action: manipulation;
  transition: background-color var(--motion-fast) ease-out,
    border-color var(--motion-fast) ease-out,
    color var(--motion-fast) ease-out;
}

.bambook-assistant__back:hover:not(:disabled),
.bambook-assistant__menu:hover:not(:disabled),
.bambook-assistant__product:hover {
  background: var(--sand);
  border-color: var(--gold);
}

.bambook-assistant__product.is-emphasized {
  background: var(--green);
  border-color: var(--green);
  color: var(--ivory);
}

.bambook-assistant__product.is-emphasized:hover {
  background: var(--ink);
  border-color: var(--ink);
}

.bambook-assistant__back:disabled,
.bambook-assistant__menu:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.bambook-assistant__support {
  background: var(--ivory);
  color: var(--taupe);
  display: block;
  font-size: var(--assistant-label-size);
  line-height: 1.45;
  padding: 0 var(--space-4) var(--space-4);
  text-align: center;
}

.bambook-assistant__support:hover {
  color: var(--ink);
}

@media (max-width: 768px) {
  .bambook-assistant__panel {
    inline-size: calc(100vw - (var(--assistant-panel-gutter) * 2));
    max-inline-size: none;
  }
}

@media (max-width: 768px) and (orientation: landscape) {
  .bambook-assistant__panel {
    inset: var(--assistant-panel-gutter);
    inline-size: auto;
    max-block-size: none;
    max-inline-size: none;
    min-block-size: 0;
    position: fixed;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bambook-assistant__launcher,
  .bambook-assistant__panel,
  .bambook-assistant__choice,
  .bambook-assistant__context-link,
  .bambook-assistant__back,
  .bambook-assistant__menu,
  .bambook-assistant__product,
  .bambook-assistant__screen {
    scroll-behavior: auto;
    transition: none;
  }
}
