/** Shopify CDN: Minification failed

Line 518:0 Unexpected "}"
Line 532:0 Unexpected "@media"
Line 533:15 Expected ":"

**/
.search__input.field__input {
  padding-right: 1.5rem;
}

.search__button {
  right: var(--inputs-border-width);
  top: var(--inputs-border-width);
}

.reset__button {
  right: calc(var(--inputs-border-width) + 4.4rem);
  top: var(--inputs-border-width);
}

.reset__button:not(:focus-visible)::after {
  border-right: 0.01rem solid rgba(var(--color-foreground), 0.08);
  display: block;
  height: calc(100% - 1.6rem);
  content: '';
  position: absolute;
  right: 0;
}

.reset__button:not(:focus)::after {
  border-right: 0.1rem solid rgba(var(--color-foreground), 0.08);
  display: block;
  height: calc(100% - 1.8rem);
  content: '';
  position: absolute;
  right: 0;
}

.search__button:focus-visible,
.reset__button:focus-visible {
  background-color: rgb(var(--color-background));
  z-index: 4;
}

.search__button:focus,
.reset__button:focus {
  background-color: rgb(var(--color-background));
  z-index: 4;
}

.search__button:not(:focus-visible):not(.focused),
.reset__button:not(:focus-visible):not(.focused) {
  box-shadow: inherit;
  background-color: inherit;
}

.search__button:hover .icon,
.reset__button:hover .icon {
  transform: scale(1.07);
}

.search__button .icon {
  height: 1.8rem;
  width: 1.8rem;
}

.reset__button .icon.icon-close {
  height: 1.8rem;
  width: 1.8rem;
  stroke-width: 0.1rem;
}

/* Remove extra spacing for search inputs in Safari */
input::-webkit-search-decoration {
  -webkit-appearance: none;
}

.template-search__results {
  position: relative;
}






/* =========================================
   FIX: Dawn header search vertical bar
   Root cause: details-modal fixed positioning
========================================= */

/* Header search container must NOT be fixed */
details-modal.header__search {
  position: relative !important;
  inset: auto !important;
  height: auto !important;
  width: auto !important;
  background: transparent !important;
}

/* Desktop only: modal search */
@media screen and (min-width: 990px) {
  details-modal.header__search .search-modal {
    position: fixed;
    inset: 0;
  }
}


/* =====================================
   CustomizeAwards â€“ DESKTOP SEARCH ONLY
   (Does NOT affect mobile)
===================================== */

@media screen and (min-width: 990px) {

  /* Search input */
  .header__search .search__input,
  .search-modal__form .search__input {
    border: 1.5px solid #00A7A7;
    border-radius: 10px;
    background: #FFFFFF;
    color: #0D1A2E;
    font-weight: 500;
  }

  /* Focus state */
  .header__search .search__input:focus,
  .search-modal__form .search__input:focus {
    outline: none;
    border-color: #00A7A7;
    box-shadow: 0 0 0 3px rgba(0, 167, 167, 0.18);
  }

  /* Placeholder */
  .search__input::placeholder {
    color: rgba(13, 26, 46, 0.55);
  }

  /* Search icon */
  .header__icon--search svg,
  .search-modal__form button svg {
    fill: #0D1A2E;
    stroke: #0D1A2E;
  }

  /* Close (X) icon */
  .details-modal__close svg {
    stroke: #0D1A2E;
    transition: stroke 0.2s ease;
  }

  .details-modal__close:hover svg {
    stroke: #00A7A7;
  }

  /* Predictive search dropdown */
  .predictive-search {
    background: #FFFFFF;
    border-top: 1px solid rgba(13, 26, 46, 0.08);
  }

  /* Search result item */
  .predictive-search__item {
    padding: 12px 14px;
    transition: background 0.2s ease;
  }

  .predictive-search__item:hover {
    background: rgba(0, 167, 167, 0.08);
  }

  /* Result title */
  .predictive-search__item-heading {
    color: #0D1A2E;
    font-weight: 500;
  }

  /* Result price */
  .predictive-search__item-price {
    color: rgba(13, 26, 46, 0.7);
  }
}
/* =====================================
   FIX: Remove native search dot (desktop)
===================================== */

@media screen and (min-width: 990px) {

  input[type="search"]::-webkit-search-decoration,
  input[type="search"]::-webkit-search-cancel-button,
  input[type="search"]::-webkit-search-results-button,
  input[type="search"]::-webkit-search-results-decoration {
    display: none !important;
  }

}

/* =====================================
   Customize Awards - VISUAL SEARCH
===================================== */

/*
 * The visual-search button is a sibling of the
 * existing Dawn search form.
 *
 * The existing search input/form styling is not
 * rewritten here.
 */

.search-modal__content {
  gap: 1.2rem;
}

.ca-visual-search-trigger {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 4.7rem;
  padding: 0 1.8rem;
  border: 1.5px solid #00A7A7;
  border-radius: 10px;
  background: #FFFFFF;
  color: #0D1A2E;
  font: inherit;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}

.ca-visual-search-trigger:hover {
  background: rgba(0, 167, 167, 0.08);
  border-color: #00A7A7;
  color: #0D1A2E;
}

.ca-visual-search-trigger:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 167, 167, 0.18);
}

.ca-visual-search-trigger:disabled {
  opacity: 0.65;
  cursor: wait;
}

.search-modal__content > .search-modal__form {
  flex: 1 1 auto;
  min-width: 0;
}

.ca-visual-search-file-input {
  position: fixed;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
}

.ca-visual-search-status {
  position: fixed;
  left: 50%;
  bottom: 2rem;
  z-index: 10000;
  transform: translateX(-50%);
  max-width: min(90vw, 52rem);
  padding: 1rem 1.5rem;
  border: 1px solid rgba(13, 26, 46, 0.12);
  border-radius: 10px;
  background: #FFFFFF;
  color: #0D1A2E;
  box-shadow: 0 0.8rem 2.5rem rgba(13, 26, 46, 0.15);
  font-size: 1.4rem;
  line-height: 1.4;
  text-align: center;
}

.ca-visual-search-status[data-error="true"] {
  border-color: rgba(180, 40, 40, 0.25);
}

.ca-visual-search-status[hidden] {
  display: none;
}

@media screen and (max-width: 989px) {
  .search-modal__content {
    gap: 0.8rem;
  }

  .ca-visual-search-trigger {
    min-height: 4.7rem;
    padding: 0 1.2rem;
    font-size: 1.3rem;
  }

  .ca-visual-search-trigger__text {
    white-space: nowrap;
  }
}

@media screen and (max-width: 480px) {
  .search-modal__content {
    gap: 0.6rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .ca-visual-search-trigger {
    padding: 0 1rem;
  }

  .ca-visual-search-trigger__text {
    font-size: 1.2rem;
  }
}

/* ============================================================
   CA VISUAL SEARCH — AI ANALYSIS LOADER
   ============================================================ */

details-modal.ca-visual-search--searching {
  position: relative;
}

/* ------------------------------------------------------------
   Search button
   ------------------------------------------------------------ */

details-modal.ca-visual-search--searching
.ca-visual-search-trigger {
  pointer-events: none;
  position: relative;
}

/* Animated gradient ring */



/* Subtle button text pulse */

details-modal.ca-visual-search--searching
.ca-visual-search-trigger__text {
  animation:
    ca-visual-search-text-pulse 1.5s ease-in-out infinite;
}

/* ------------------------------------------------------------
   Main loader block
   ------------------------------------------------------------ */



/* ------------------------------------------------------------
   Loader top row
   ------------------------------------------------------------ */



/* Large animated AI ring */



/* Center pulse */



/* ------------------------------------------------------------
   Copy
   ------------------------------------------------------------ */





/* Three animated dots */





.ca-visual-search-loader__dots span:nth-child(2) {
  animation-delay: 0.15s;
}

.ca-visual-search-loader__dots span:nth-child(3) {
  animation-delay: 0.3s;
}

/* ------------------------------------------------------------
   Animated scanning / progress bar
   ------------------------------------------------------------ */





/* Secondary light sweep */



/* ------------------------------------------------------------
   Keyframes
   ------------------------------------------------------------ */

@keyframes ca-visual-search-ring {
  to {
    transform: rotate(360deg);
  }
}

@keyframes ca-visual-search-spark {
  0%,
  100% {
    transform: scale(0.8);
    opacity: 0.65;
  }

  50% {
    transform: scale(1.15);
    opacity: 1;
  }
}

@keyframes ca-visual-search-text-pulse {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.55;
  }
}

@keyframes ca-visual-search-dot {
  0%,
  60%,
  100% {
    transform: translateY(0);
    opacity: 0.35;
  }

  30% {
    transform: translateY(-0.25rem);
    opacity: 1;
  }
}

@keyframes ca-visual-search-scan {
  0% {
    left: -45%;
  }

  100% {
    left: 100%;
  }
}

@keyframes ca-visual-search-shine {
  0% {
    transform: translateX(-150%);
  }

  60%,
  100% {
    transform: translateX(450%);
  }
}

@keyframes ca-visual-search-loader-in {
  from {
    opacity: 0;
    transform: translateY(-0.6rem) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* ------------------------------------------------------------
   Accessibility
   ------------------------------------------------------------ */

.ca-visual-search-loader[hidden] {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  details-modal.ca-visual-search--searching
  .ca-visual-search-trigger::before,

  details-modal.ca-visual-search--searching
  .ca-visual-search-trigger__text,

  .ca-visual-search-loader__ring,

  .ca-visual-search-loader__spark,

  .ca-visual-search-loader__dots span,

  .ca-visual-search-loader__bar,

  .ca-visual-search-loader__shine,

  
}

/* ============================================================
   CA VISUAL SEARCH — LOADER POSITION ANCHOR
   The existing search field/button layout is untouched.
   The AI loader is positioned underneath the search form.
   ============================================================ */

details-modal .search-modal__content {
  position: relative;
}

details-modal 

@media screen and (max-width: 749px) {
  details-modal 
}

/* ============================================================
   CA VISUAL SEARCH — PREMIUM BUTTON MOTION
   ============================================================ */

.ca-visual-search-trigger {
  position: relative;
  overflow: hidden;
  isolation: isolate;

  /*
     Keeps the original button dimensions.
     Animation happens entirely inside the button.
  */

  animation:
    ca-visual-search-pulse
    2.8s
    ease-in-out
    infinite;
}

/*
   Moving light sweep.
*/

.ca-visual-search-trigger::before {
  content: '';

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      110deg,
      transparent 20%,
      rgba(255, 255, 255, 0.06) 35%,
      rgba(255, 255, 255, 0.48) 50%,
      rgba(255, 255, 255, 0.06) 65%,
      transparent 80%
    );

  transform: translateX(-120%);

  pointer-events: none;

  animation:
    ca-visual-search-shimmer
    3.4s
    ease-in-out
    infinite;

  z-index: 1;
}

/*
   Small "AI discovery" sparkle.
*/

.ca-visual-search-trigger::after {
  content: '✦';

  position: absolute;

  top: 4px;
  right: 7px;

  font-size: 9px;
  line-height: 1;

  color: rgba(255, 255, 255, 0.92);

  pointer-events: none;

  z-index: 2;

  animation:
    ca-visual-search-spark
    2s
    ease-in-out
    infinite;
}

/*
   Keep the button text above the moving effect.
*/

.ca-visual-search-trigger__text {
  position: relative;
  z-index: 3;
}

/*
   Normal idle pulse.
   Very subtle so the button does not look cheap or gimmicky.
*/

@keyframes ca-visual-search-pulse {
  0%,
  100% {
    box-shadow:
      0 0 0 rgba(0, 167, 167, 0);
  }

  50% {
    box-shadow:
      0 0 16px rgba(0, 167, 167, 0.28);
  }
}

/*
   Light travelling across the button.
*/

@keyframes ca-visual-search-shimmer {
  0% {
    transform: translateX(-120%);
  }

  42%,
  100% {
    transform: translateX(120%);
  }
}

/*
   AI sparkle breathing effect.
*/

@keyframes ca-visual-search-spark {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(0.75) rotate(0deg);
  }

  50% {
    opacity: 1;
    transform: scale(1.15) rotate(90deg);
  }
}

/*
   When image analysis is actually running,
   make the button noticeably more active.
*/

details-modal.ca-visual-search--searching
.ca-visual-search-trigger {
  animation:
    ca-visual-search-searching-pulse
    1.15s
    ease-in-out
    infinite;
}

details-modal.ca-visual-search--searching
.ca-visual-search-trigger::before {
  animation:
    ca-visual-search-searching-shimmer
    1.35s
    linear
    infinite;
}

@keyframes ca-visual-search-searching-pulse {
  0%,
  100% {
    box-shadow:
      0 0 0 rgba(0, 167, 167, 0);
  }

  50% {
    box-shadow:
      0 0 22px rgba(0, 167, 167, 0.5);
  }
}

@keyframes ca-visual-search-searching-shimmer {
  0% {
    transform: translateX(-120%);
  }

  100% {
    transform: translateX(120%);
  }
}

/*
   Prevent the button from looking like a loading spinner.
*/

details-modal.ca-visual-search--searching
.ca-visual-search-trigger::after {
  content: '✦';
  animation:
    ca-visual-search-spark
    0.9s
    ease-in-out
    infinite;
}

/*
   Accessibility.
*/

@media (prefers-reduced-motion: reduce) {

  .ca-visual-search-trigger,
  .ca-visual-search-trigger::before,
  .ca-visual-search-trigger::after,
  details-modal.ca-visual-search--searching
  .ca-visual-search-trigger {
    animation: none;
  }
}

/* Old visual-search loader is intentionally disabled. */

.ca-visual-search-loader {
  display: none !important;
}

