.promotions-view #profile-scope {
  display: none;
}
.promo-editor [hidden] { display: none !important; }
.promo-luck-art {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-height: 180px;
  overflow: hidden;
  background: radial-gradient(ellipse at 48% 38%, #824237 0%, #38261f 40%, #1d241b 82%);
}
.promo-luck-art.is-mini {
  width: 76px;
  height: 76px;
  min-height: 0;
  border-radius: 9px;
  flex: 0 0 76px;
}
.promo-luck-die {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 24px;
  padding: 23px;
  width: 112px;
  height: 112px;
  flex: none;
  box-sizing: border-box;
  border-radius: 23px;
  transform: rotate(-13deg);
  background: linear-gradient(135deg, #fffef5, #e8dec9 66%, #bca88a);
  box-shadow: inset 2px 3px 3px #fff, inset -3px -4px 7px #6e593c40, 8px 12px 0 #9f8d6d, 16px 30px 30px #0008;
}
.promo-luck-die i {
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #542822;
  box-shadow: inset 1px 2px 3px #1b0909, 0 1px 0 #fff;
}
.promo-luck-art.is-mini .promo-luck-die { transform: rotate(-13deg) scale(.43); }
.promo-luck-rule {
  padding: 20px;
  border: 1px solid #dbe0d2;
  border-radius: 12px;
  background: #f4f5ee;
}
.promo-luck-rule h4, .promo-luck-scope h4 { margin: 0 0 12px; font-size: 14px; }
.promo-luck-rule p, .promo-luck-scope p { color: #69705f; font-size: 12px; line-height: 1.6; }
.promo-luck-rule label { margin-top: 22px; }
.promo-luck-outcomes { display: grid; grid-template-columns: repeat(6, 1fr); gap: 7px; margin: 18px 0; }
.promo-luck-outcomes div { border: 1px solid #e1e4d8; border-radius: 9px; padding: 12px 2px; text-align: center; background: #fffefa; }
.promo-luck-outcomes small { display: block; font-size: 10px; color: #7d8275; margin-bottom: 5px; }
.promo-luck-outcomes strong { font-size: 19px; color: #35432b; }
.promo-luck-scope { padding: 4px 0; }
.promo-luck-scope h4:not(:first-child) { margin-top: 26px; }
.promo-luck-preview { border-radius: 15px; overflow: hidden; background: #20251e; color: #f5f1e7; }
.promo-luck-preview .promo-luck-art { height: 230px; }
.promo-luck-preview > div { padding: 26px; }
.promo-luck-preview small { letter-spacing: 1.8px; font-size: 10px; color: #c5b291; }
.promo-luck-preview h3 { font-size: 31px; margin: 13px 0; letter-spacing: -1.1px; }
.promo-luck-preview p { color: #c7cbbf; font-size: 13px; line-height: 1.6; }
.promo-luck-preview strong { font-size: 22px; display: block; margin: 22px 0; }
.promo-luck-preview .promo-luck-terms { border-top: 1px solid #ffffff20; padding-top: 19px; font-size: 12px; }
@media (max-width: 700px) {
  .promo-luck-outcomes { grid-template-columns: repeat(3, 1fr); }
}
.promotions-view .page-description {
  max-width: 70ch;
}
.promotion-editing .page-head,
.promotion-editing #status:empty {
  display: none;
}
.promo-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  margin: 24px 0 14px;
}
.promo-section-heading h3 {
  font-size: 19px;
  margin: 0;
  letter-spacing: -0.4px;
}
.promo-section-heading small,
.promo-section-heading > span {
  font-size: 12px;
  color: #72766a;
}
.promo-template-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.promo-template {
  display: flex;
  text-align: left;
  align-items: center;
  gap: 14px;
  border: 1px solid #dddfd6;
  background: #fffefa;
  border-radius: 14px;
  padding: 10px;
  min-width: 0;
  transition:
    box-shadow 0.16s,
    transform 0.16s;
}
.promo-template:hover {
  box-shadow: 0 7px 22px #25331d12;
  transform: translateY(-2px);
}
.promo-template img {
  width: 76px;
  height: 76px;
  object-fit: cover;
  border-radius: 9px;
}
.promo-template span {
  flex: 1;
  min-width: 0;
}
.promo-template strong {
  display: block;
  font-size: 15px;
}
.promo-template small {
  display: block;
  font-weight: 400;
  font-size: 12px;
  color: #72766a;
  margin-top: 6px;
  line-height: 1.4;
}
.promo-template > b {
  padding-right: 8px;
}
.promo-library-tools {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 20px;
  align-items: center;
}
.promo-filters {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.promo-filters button,
.promo-preview-tabs button {
  background: transparent;
  border: 0;
  font-size: 13px;
  font-weight: 600;
  padding: 10px 14px;
  border-radius: 8px;
  color: #666d5f;
}
.promo-filters button[aria-pressed="true"],
.promo-preview-tabs button[aria-pressed="true"] {
  background: #e3e8dc;
  color: #293720;
}
.promo-library-tools > input {
  max-width: 245px;
  font-size: 14px;
  padding: 12px 14px;
}
.promo-library {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.promo-library-card {
  border: 1px solid #dddfd6;
  border-radius: 16px;
  background: #fffefa;
  min-width: 0;
}
.promo-cover {
  display: block;
  width: 100%;
  padding: 0;
  position: relative;
  border: 0;
  border-radius: 15px 15px 0 0;
  overflow: hidden;
  background: #1d241a;
  aspect-ratio: 1.6;
}
.promo-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s;
}
.promo-cover:hover img {
  transform: scale(1.03);
}
.promo-cover:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent, #0008);
}
.promo-cover-badge {
  position: absolute;
  z-index: 1;
  left: 18px;
  bottom: 17px;
  color: white;
  font-size: 23px;
  letter-spacing: -0.6px;
}
.promo-card-body {
  padding: 18px;
}
.promo-card-body h3 {
  font-size: 21px;
  margin: 18px 0 7px;
  letter-spacing: -0.5px;
}
.promo-card-body > p {
  font-size: 13px;
  line-height: 1.6;
  color: #72766a;
  min-height: 38px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.promo-tags {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.promo-tags span {
  font-size: 10px;
  border: 1px solid #e1e3da;
  padding: 5px 7px;
  border-radius: 5px;
  color: #5d6557;
}
.promo-card-body footer {
  display: flex;
  justify-content: space-between;
  gap: 6px;
  align-items: center;
  border-top: 1px solid #e6e7df;
  margin-top: 20px;
  padding-top: 14px;
}
.promo-card-body footer small {
  font-size: 11px;
}
.promo-card-body footer button {
  padding: 8px 11px;
  font-size: 12px;
}
.promo-actions {
  position: relative;
}
.promo-actions summary {
  cursor: pointer;
  list-style: none;
  padding: 6px 10px;
}
.promo-actions summary::-webkit-details-marker {
  display: none;
}
.promo-actions > div {
  position: absolute;
  right: 0;
  top: 34px;
  background: #fffefa;
  border: 1px solid #d6d9cf;
  box-shadow: 0 10px 32px #0002;
  border-radius: 10px;
  padding: 6px;
  min-width: 170px;
  z-index: 5;
}
.promo-actions button {
  border: 0;
  width: 100%;
  text-align: left;
  background: none;
  font-size: 13px;
  padding: 10px;
}
.promo-actions button:hover {
  background: #ecefe6;
}
.promo-empty {
  grid-column: 1/-1;
  text-align: center;
  padding: 44px 24px;
  background: #fffefa;
  border: 1px dashed #d0d6c7;
  border-radius: 16px;
}
.promo-empty > span {
  display: grid;
  place-items: center;
  background: #edf0e6;
  color: #495841;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  margin: auto;
  font-size: 23px;
  font-weight: 700;
}
.promo-empty h3 {
  font-size: 23px;
  margin: 18px 0 8px;
}
.promo-empty p {
  font-size: 14px;
  color: #72766a;
  margin-bottom: 22px;
}
.promo-editor-top {
  display: flex;
  align-items: center;
  gap: 22px;
  margin: 0 0 25px;
}
.promo-editor-top > div {
  flex: 1;
  min-width: 0;
}
.promo-editor-top h2 {
  font-size: 26px;
  margin: 4px 0;
  overflow-wrap: anywhere;
}
.promo-editor-top small {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.8px;
  color: #727a69;
}
.promo-editor-top > button {
  font-size: 14px;
}
.promo-editor-message:empty {
  display: none;
}
.promo-editor-message {
  font-size: 14px;
  margin: 0 0 16px;
  line-height: 1.5;
}
.promo-editor-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(290px, 0.8fr);
  align-items: start;
  gap: 26px;
}
.promo-form-panel {
  border: 1px solid #dddfd6;
  border-radius: 16px;
  background: #fffefa;
  overflow: hidden;
}
.promo-editor-tabs {
  display: flex;
  border-bottom: 1px solid #e1e4d9;
  padding: 10px 15px 0;
  gap: 4px;
  overflow: auto;
}
.promo-editor-tabs button {
  border: 0;
  border-radius: 0;
  font-size: 12px;
  padding: 15px 9px;
  color: #79806f;
  background: transparent;
  white-space: nowrap;
  border-bottom: 3px solid transparent;
}
.promo-editor-tabs button[aria-selected="true"] {
  border-bottom-color: #be2e22;
  color: #26331f;
}
.promo-step {
  padding: 28px;
}
.promo-step[hidden],
.promo-editor [hidden] {
  display: none !important;
}
.promo-step .eyebrow {
  font-size: 10px;
  letter-spacing: 1.9px;
  margin: 0 0 12px;
}
.promo-step h3 {
  font-size: 25px;
  letter-spacing: -0.8px;
  margin: 0 0 25px;
}
.promo-editor label {
  font-size: 12px;
  line-height: 1.4;
}
.promo-editor input,
.promo-editor select,
.promo-editor textarea {
  font-size: 14px;
  padding: 12px;
  min-width: 0;
}
.promo-editor textarea {
  resize: vertical;
}
.promo-editor .field-grid {
  gap: 18px 16px;
}
.promo-editor .field-grid > .wide {
  grid-column: 1/-1;
}
.promo-editor .help {
  font-size: 12px;
  line-height: 1.7;
  color: #777e6f;
}
.promo-step > details {
  border-top: 1px solid #e3e5dd;
  padding: 18px 0 0;
  margin-top: 20px;
}
.promo-step summary {
  cursor: pointer;
  font-size: 14px;
  font-weight: 650;
  margin-bottom: 14px;
}
.promo-relation-picker {
  display: grid;
  gap: 8px;
  max-height: 210px;
  overflow: auto;
  padding: 12px 2px;
}
.promo-relation-picker label.check {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  margin: 0;
}
.promo-editor input[type="checkbox"] {
  width: 17px;
  height: 17px;
  min-height: 0;
  accent-color: #3c5030;
}
.promo-eligible [data-eligible-products] {
  max-height: 240px;
  overflow: auto;
}
.promo-eligible [data-eligible-products] > div {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  border-bottom: 1px solid #eceee6;
  font-size: 12px;
  padding: 11px 0;
}
.promo-eligible strong {
  white-space: nowrap;
  font-size: 12px;
}
.promo-placement-options {
  display: grid;
  gap: 10px;
  margin-bottom: 24px;
}
.promo-placement {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 17px;
  border: 1px solid #e0e3d8;
  border-radius: 11px;
  cursor: pointer;
}
.promo-placement:has(input:checked) {
  border-color: #748665;
  background: #f4f6ef;
}
.promo-placement strong {
  display: block;
  font-size: 14px;
}
.promo-placement small {
  display: block;
  font-size: 12px;
  font-weight: 400;
  color: #777e6f;
  margin-top: 5px;
}
.promo-weekdays {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 25px 0 14px;
}
.promo-weekdays label {
  position: relative;
  cursor: pointer;
}
.promo-weekdays input {
  position: absolute;
  opacity: 0;
}
.promo-weekdays span {
  display: block;
  padding: 13px 14px;
  background: #f0f1eb;
  border: 1px solid #e1e4d8;
  border-radius: 9px;
  font-size: 12px;
}
.promo-weekdays input:checked + span {
  background: #35452b;
  color: #fff;
  border-color: #35452b;
}
.promo-weekdays input:focus-visible + span {
  outline: 2px solid #be2e22;
  outline-offset: 3px;
}
.promo-schedule-note {
  background: #f0f2e9;
  border-radius: 10px;
  padding: 16px;
  font-size: 12px;
  line-height: 1.6;
  color: #636c58;
}
.promo-step-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #e3e5dd;
  padding: 18px 28px;
  color: #7b826f;
  font-size: 12px;
}
.promo-step-footer button {
  font-size: 12px;
  padding: 10px 14px;
}
.promo-preview-panel {
  position: sticky;
  top: 24px;
  min-width: 0;
}
.promo-preview-panel > .promo-section-heading {
  margin-top: 0;
}
.promo-preview-panel h3 {
  font-size: 16px;
}
.promo-preview-tabs {
  display: flex;
  background: #e8ebe1;
  border-radius: 10px;
  padding: 3px;
  margin-bottom: 16px;
}
.promo-preview-tabs button {
  flex: 1;
  font-size: 12px;
}
.promo-preview-tabs button[aria-pressed="true"] {
  background: #fffefa;
  box-shadow: 0 2px 5px #0001;
}
.promo-preview-surface {
  background: #121310;
  border-radius: 16px;
  padding: 14px;
  color: white;
  overflow: hidden;
}
.promo-preview-surface article {
  overflow: hidden;
  border-radius: 10px;
  background: #20221d;
  position: relative;
}
.promo-preview-image {
  position: relative;
}
.promo-preview-image img {
  display: block;
  width: 100%;
  height: 190px;
  object-fit: cover;
}
.promo-preview-image button {
  position: absolute;
  right: 12px;
  top: 12px;
  color: #fff;
  background: #20221dbb;
  border: 1px solid #ffffff55;
  border-radius: 50%;
  width: 37px;
  height: 37px;
  padding: 0;
}
.promo-preview-copy {
  padding: 22px;
}
.promo-preview-copy > small {
  font-size: 10px;
  color: #d3be8c;
}
.promo-preview-copy h3 {
  color: white;
  font-size: 28px;
  margin: 8px 0 12px;
  letter-spacing: -1px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}
.promo-preview-copy p {
  font-size: 12px;
  color: #d2d4cd;
  line-height: 1.6;
  margin: 0 0 15px;
  overflow-wrap: anywhere;
}
.promo-preview-copy strong {
  display: block;
  font-size: 22px;
  margin: 18px 0;
  color: #fff;
}
.promo-preview-surface.is-section article {
  min-height: 360px;
}
.promo-preview-surface.is-section .promo-preview-image {
  position: absolute;
  inset: 0;
}
.promo-preview-surface.is-section .promo-preview-image img {
  height: 100%;
  filter: brightness(0.48);
}
.promo-preview-surface.is-section .promo-preview-copy {
  position: relative;
  padding-top: 135px;
  pointer-events: none;
  background: linear-gradient(transparent, #000c);
}
.promo-preview-surface.is-section .promo-preview-image button {
  z-index: 2;
}
.promo-preview-surface.is-banner {
  padding: 20px 10px;
  min-height: 240px;
  display: flex;
  align-items: flex-start;
}
.promo-preview-surface.is-banner article {
  display: flex;
  align-items: center;
  width: 100%;
  border: 1px solid #444c39;
}
.promo-preview-surface.is-banner .promo-preview-image {
  width: 66px;
  flex: none;
  align-self: stretch;
}
.promo-preview-surface.is-banner img {
  height: 100%;
}
.promo-preview-surface.is-banner .promo-preview-image button {
  width: 25px;
  height: 25px;
  top: 6px;
  right: 6px;
  font-size: 12px;
}
.promo-preview-surface.is-banner .promo-preview-copy {
  padding: 13px;
}
.promo-preview-surface.is-banner h3 {
  font-size: 16px;
  letter-spacing: -0.4px;
  margin: 4px 0;
}
.promo-preview-surface.is-banner p {
  display: none;
}
.promo-preview-surface.is-banner strong {
  font-size: 12px;
  margin: 6px 0;
}
.promo-preview-surface.is-popup {
  padding: 20px;
}
.promo-image-actions {
  display: flex;
  gap: 10px;
  margin-top: 14px;
  align-items: center;
}
.promo-image-actions label.button,
.promo-image-actions button {
  font-size: 11px;
  padding: 10px;
  cursor: pointer;
  border: 1px solid #d7dccf;
  border-radius: 8px;
  background: #fffefa;
  font-weight: 600;
}
.promo-preview-summary {
  border-top: 1px solid #dce0d3;
  margin-top: 20px;
  padding-top: 20px;
}
.promo-preview-summary p {
  font-size: 12px;
  line-height: 1.6;
  margin: 12px 0;
}
.promo-preview-summary small {
  font-size: 11px;
  color: #747d69;
}
.promo-editor button:focus-visible,
.promo-template:focus-visible,
.promo-actions summary:focus-visible {
  outline: 2px solid #bc3025;
  outline-offset: 3px;
}
@media (min-width: 1550px) {
  .promo-library {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 1200px) {
  .promo-template img {
    width: 54px;
    height: 65px;
  }
  .promo-template-grid {
    gap: 10px;
  }
  .promo-template {
    gap: 8px;
  }
  .promo-library {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .promo-editor-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .promo-preview-panel {
    position: static;
    max-width: 550px;
    width: 100%;
    margin: auto;
  }
  .promo-studio-intro > div {
    padding: 30px;
  }
  .promo-library-tools {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 700px) {
  .promo-template-grid {
    grid-template-columns: 1fr;
  }
  .promo-template {
    padding: 8px;
    gap: 16px;
  }
  .promo-template img {
    width: 66px;
    height: 58px;
  }
  .promo-template small {
    margin-top: 4px;
  }
  .promo-studio-intro {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .promo-studio-intro > img {
    display: none;
  }
  .promo-studio-intro > div {
    padding: 25px;
  }
  .promo-studio-intro h2 {
    font-size: 34px;
  }
  .promo-intro-counts {
    gap: 18px;
  }
  .promo-section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
  .promo-library {
    grid-template-columns: 1fr;
  }
  .promo-editor-top {
    flex-wrap: wrap;
    gap: 12px;
  }
  .promo-editor-top > div {
    order: -1;
    flex: 1 0 100%;
  }
  .promo-editor-top > button {
    flex: 1;
    font-size: 12px;
    padding: 12px;
  }
  .promo-editor-tabs {
    padding: 0 8px;
  }
  .promo-editor-tabs button {
    font-size: 11px;
    padding: 15px 7px;
  }
  .promo-step {
    padding: 22px 18px;
  }
  .promo-editor .field-grid {
    grid-template-columns: 1fr;
  }
  .promo-step h3 {
    font-size: 22px;
  }
  .promo-weekdays {
    gap: 6px;
  }
  .promo-weekdays span {
    padding: 12px 10px;
  }
  .promo-filters button {
    font-size: 11px;
    padding: 9px;
  }
  .promo-library-tools > input {
    max-width: 100%;
    width: 100%;
  }
  .promo-editor-grid {
    gap: 30px;
  }
  .promo-preview-copy h3 {
    font-size: 26px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .promo-template,
  .promo-cover img {
    transition: none;
  }
}
.promo-editor-top {
  position: sticky;
  top: 0;
  z-index: 8;
  background: #f5f4ee;
  padding: 16px 0;
  border-bottom: 1px solid #e0e3d7;
}
.promo-operating-summary {
  display: flex;
  gap: 32px;
  align-items: center;
  border: 1px solid #dddfd6;
  border-radius: 14px;
  padding: 24px 28px;
  background: #fffefa;
  margin-bottom: 28px;
}
.promo-operating-summary > div {
  min-width: 100px;
  padding-right: 32px;
  border-right: 1px solid #e3e6dc;
}
.promo-operating-summary span {
  display: block;
  font-size: 12px;
  color: #747c6a;
}
.promo-operating-summary strong {
  display: block;
  font-size: 30px;
  letter-spacing: -1px;
  margin-top: 7px;
}
.promo-operating-summary p {
  margin: 0 0 0 auto;
  font-size: 12px;
  line-height: 1.7;
  color: #7c8273;
}
.promo-operating-summary p b {
  font-weight: 500;
  color: #414b36;
}
@media (max-width: 700px) {
  .promo-operating-summary {
    gap: 10px;
    padding: 20px;
    flex-wrap: wrap;
  }
  .promo-operating-summary > div {
    min-width: 0;
    flex: 1;
    padding-right: 10px;
  }
  .promo-operating-summary p {
    margin: 8px 0 0;
    flex-basis: 100%;
    font-size: 11px;
  }
  .promo-operating-summary strong {
    font-size: 26px;
  }
}
