/* Pasqal brand callout overrides for Quarto reveal.js slides */

:root {
  --pasqal-dark-green: #0f1e23;
  --pasqal-soft-green: #173035;
  --pasqal-bright-green: #e1f6e9;
  --pasqal-mint-green: #00c887;
  --pasqal-metal-blue: #397378;
  --pasqal-neon-blue: #92dce5;
  --pasqal-purple: #867bfa;
  --pasqal-orange: #ff986e;
  --pasqal-orange-dark: #c8592a;

  --pasqal-callout-title-note: #c8edf2;
  --pasqal-callout-title-tip: #e1f6e9;
  --pasqal-callout-title-important: #edebfe;
  --pasqal-callout-title-warning: #ffede4;
  --pasqal-callout-title-caution: #ffede4;

  --pasqal-callout-frame-note: #92dce5;
  --pasqal-callout-frame-tip: #7debbd;
  --pasqal-callout-frame-important: #c4bcfc;
  --pasqal-callout-frame-warning: #ffc9ad;
  --pasqal-callout-frame-caution: #f0b899;
}

/* Shared frame */
.reveal div.callout.callout-style-default {
  border: 1px solid transparent;
  border-left-width: 0.3rem;
  background-color: #ffffff;
}

.reveal div.callout.callout-style-default div.callout-title {
  opacity: 1;
}

.reveal div.callout.callout-style-default div.callout-title p {
  color: var(--pasqal-dark-green);
}

/* BEGIN GENERATED CALLOUT STYLES */
/* Note: Metal Blue + Neon Blue */
.reveal div.callout.callout-note {
  border-color: var(--pasqal-callout-frame-note);
  border-left-color: var(--pasqal-metal-blue);
}
.reveal div.callout.callout-note.callout-style-default .callout-title {
  background-color: var(--pasqal-callout-title-note);
}
.reveal div.callout.callout-note .callout-icon::before {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="rgb(57, 115, 120)" fill-rule="evenodd" d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2"/></svg>');
}

/* Tip: Mint Green + Bright Green */
.reveal div.callout.callout-tip {
  border-color: var(--pasqal-callout-frame-tip);
  border-left-color: var(--pasqal-mint-green);
}
.reveal div.callout.callout-tip.callout-style-default .callout-title {
  background-color: var(--pasqal-callout-title-tip);
}
.reveal div.callout.callout-tip .callout-icon::before {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="rgb(0, 200, 135)" d="M2 6a6 6 0 1 1 10.174 4.31c-.203.196-.359.4-.453.619l-.762 1.769A.5.5 0 0 1 10.5 13a.5.5 0 0 1 0 1 .5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1 0-1 .5.5 0 0 1 0-1 .5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm6-5a5 5 0 0 0-3.479 8.592c.263.254.514.564.676.941L5.83 12h4.342l.632-1.467c.162-.377.413-.687.676-.941A5 5 0 0 0 8 1z"/></svg>');
}

/* Important: Purple */
.reveal div.callout.callout-important {
  border-color: var(--pasqal-callout-frame-important);
  border-left-color: var(--pasqal-purple);
}
.reveal div.callout.callout-important.callout-style-default .callout-title {
  background-color: var(--pasqal-callout-title-important);
}
.reveal div.callout.callout-important .callout-icon::before {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="rgb(134, 123, 250)" fill-rule="evenodd" d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M8 4a.905.905 0 0 0-.9.995l.35 3.507a.552.552 0 0 0 1.1 0l.35-3.507A.905.905 0 0 0 8 4m.002 6a1 1 0 1 0 0 2 1 1 0 0 0 0-2"/></svg>');
}

/* Warning: Orange */
.reveal div.callout.callout-warning {
  border-color: var(--pasqal-callout-frame-warning);
  border-left-color: var(--pasqal-orange);
}
.reveal div.callout.callout-warning.callout-style-default .callout-title {
  background-color: var(--pasqal-callout-title-warning);
}
.reveal div.callout.callout-warning .callout-icon::before {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="rgb(255, 152, 110)" fill-rule="evenodd" d="M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5m.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2"/></svg>');
}

/* Caution: Dark orange */
.reveal div.callout.callout-caution {
  border-color: var(--pasqal-callout-frame-caution);
  border-left-color: var(--pasqal-orange-dark);
}
.reveal div.callout.callout-caution.callout-style-default .callout-title {
  background-color: var(--pasqal-callout-title-caution);
}
.reveal div.callout.callout-caution .callout-icon::before {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="rgb(200, 89, 42)" d="M9.97 4.88l.953 3.811C10.158 8.878 9.14 9 8 9c-1.14 0-2.159-.122-2.923-.309L6.03 4.88C6.635 4.957 7.3 5 8 5s1.365-.043 1.97-.12zm-.245-.978L8.97.88C8.718-.13 7.282-.13 7.03.88L6.274 3.9C6.8 3.965 7.382 4 8 4c.618 0 1.2-.036 1.725-.098zm4.396 8.613a.5.5 0 0 1 .037.96l-6 2a.5.5 0 0 1-.316 0l-6-2a.5.5 0 0 1 .037-.96l2.391-.598.565-2.257c.862.212 1.964.339 3.165.339s2.303-.127 3.165-.339l.565 2.257 2.391.598z"/></svg>');
}
/* END GENERATED CALLOUT STYLES */

/* Pasqal slide chrome: logo top-right, menu bottom-left */
.reveal .slide-menu-button {
  bottom: 10px !important;
  left: 10px !important;
  top: inherit !important;
  right: inherit !important;
}

/* clean-revealjs theme defaults to bottom-left */
.reveal .slide-logo,
.slide-logo {
  top: 10px !important;
  right: 12px !important;
  bottom: auto !important;
  left: auto !important;
}

/* Two-column callout layouts inside reveal slides */
.reveal section .columns {
  display: flex !important;
  flex-direction: row;
  align-items: flex-start;
  gap: 1.2rem;
  width: 100%;
  max-width: 100%;
}

.reveal section .columns > .column {
  flex: none;
  min-width: 0;
}

.reveal section .columns > .column .callout {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 0.65em;
}

.reveal section .columns > .column .callout:last-child {
  margin-bottom: 0;
}

.reveal section .aside-footnotes {
  margin-top: 0.75em;
}

/* Native HTML5 videos inside reveal column layouts */
.reveal section .columns > .column video.slide-native-video {
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: 52vh;
  height: auto;
  margin: 0;
  object-fit: contain;
  background: transparent;
}
