/** Shopify CDN: Minification failed

Line 27:10 Unexpected "{"
Line 27:19 Expected ":"
Line 28:14 Expected identifier but found whitespace
Line 28:16 Unexpected "{"
Line 28:25 Expected ":"
Line 28:76 Expected ":"
Line 29:17 Expected identifier but found whitespace
Line 29:19 Unexpected "{"
Line 29:28 Expected ":"
Line 29:82 Expected ":"
... and 10 more hidden warnings

**/
/* =========================================================
   GLOBAL HIDES
   ========================================================= */
.shopify-section-group-header-group .utility-bar,
#shopify-section-sections--23553355284754__announcement-bar {
  display: none;
}

/* =========================================================
   SECTION PADDING
   ========================================================= */
.section-{{ section.id }}-padding {
  padding-top: {{ section.settings.padding_top | times: 0.75 | round: 0 }}px;
  padding-bottom: {{ section.settings.padding_bottom | times: 0.75 | round: 0 }}px;
}

@media screen and (min-width: 750px) {
  .section-{{ section.id }}-padding {
    padding-top: {{ section.settings.padding_top }}px;
    padding-bottom: {{ section.settings.padding_bottom }}px;
  }
}

/* =========================================================
   GENERAL UTILITIES
   ========================================================= */
.no-scroll {
  overflow: hidden;
}

.centered-element {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.selected-message {
  text-align: center;
  font-size: 1em;
  padding: 10px;
}

.changeTime {
  text-decoration: underline;
  margin: 6px 0;
  cursor: pointer;
  color: rgb(var(--color-link));
}

.test-compile1 {
  display: inherit;
}

/* Numeric + Quote Text Utilities */
.text-pop-numb-lg {
  font-size: 54px;
  line-height: 100%;
  letter-spacing: .015em;
  font-weight: 700;
}

.text-pop-numb-md {
  font-size: 32px;
  line-height: 110%;
  font-weight: 700;
}

.text-pop-numb-sm {
  font-size: 20px;
  line-height: 110%;
  letter-spacing: .015em;
  font-weight: 700;
}

.text-quotes-lg {
  font-size: 20px;
  line-height: 150%;
  font-weight: 400;
}

.text-quotes-sm {
  font-size: 16px;
  line-height: 150%;
  font-weight: 400;
}

/* =========================================================
   STRUCTURAL WRAPPERS
   ========================================================= */
.mainButtonArea {
  width: 100%;
  padding: 25px 15px;
  background: none;
  text-align: center;
}

.product-cards {
  width: 100%;
  max-width: 1200px;
}

/* Nested selectors fixed: Replace with direct descendant selectors in CSS, if using preprocessor like SCSS keep as is */
.box-choices img {
  max-height: 300px;
}

.header-logo {
  text-align: center;
}

.header-logo img {
  display: inline-block;
}

/* =========================================================
   SUB-BUILDER AREA
   ========================================================= */
#sub-builder,
#freebie-area {
  margin: 0 auto;
  padding-top: 20px;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
}

#sub-builder .grid,
#freebie-area .grid {
  display: grid;
}

/* =========================================================
   ORDER SUMMARY
   ========================================================= */
#sub-order-summary {
  display: grid;
  padding-top: 30px;
}

#sub-order-summary h2 {
  margin-top: 40px;
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  #sub-order-summary h2 {
    margin-top: 20px;
  }
}

/* =========================================================
   GRID WRAPPER
   ========================================================= */
.grid-wrapper {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat({{ shop.metaobjects.box_choices.size | default:2 }}, 27%);
  justify-content: center;
  justify-items: center;
}

.grid-wrapper .sub-select-card {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  max-width: 300px;
}

#product-customizer-cards.grid-wrapper {
  margin: 0 auto;
  max-width: 1300px;
}

@media (max-width: 767px) {
  .grid-wrapper {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
}

/* =========================================================
   SUB-SELECT CARD
   ========================================================= */
.sub-select-card {
  cursor: pointer;
  width: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  max-width: 300px;
}

.sub-select-card .card-details {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sub-select-card h3 {
  font-weight: bold;
  font-size: 1em;
}

.sub-select-card p,
.sub-select-card .description {
  font-size: 0.9em;
  color: #777;
  margin-top: 0.1em;
}

/* Content blocks */
.content {
  width: 100%;
}

.product-name {
  font-size: 0.9em;
}

.packtitle {
  font-size: 1.2em;
  color: #333;
  font-weight: bold;
}

.portion-text {
  font-size: 1.3em;
  color: #333;
  font-weight: bold;
}

.portion-subtext {
  font-size: 0.9em;
  color: #838383;
  margin-bottom: 8px;
}

.sub-text {
  font-style: italic;
}

.view-more-details {
  display: block;
  font-size: 0.9em;
}

.price {
  font-size: 1.4em;
  font-weight: bold;
}

.price-extra {
  font-size: 0.8em;
  color: #666;
  font-weight: bold;
}

.code-extra {
  color: #666;
}

.compare-price {
  color: #999;
}

.discount {
  margin-bottom: 0.6em;
}

.buttons {
  margin: 1em 0;
}

/* Radio input styling */
.sub-select-card input[type=radio] + label {
  height: 100%;
  background: #fff;
  border-width: 0.5rem;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
}

.sub-select-card input[type=radio] + label span.rounded-full {
  width: 3rem;
  height: 3rem;
}

.sub-select-card input[type=radio] + label span svg {
  width: 2rem;
  height: 1rem;
  filter: brightness(0) invert(1);
}

.sub-select-card input[type=radio]:checked + label {
  border-color: #00afff;
}

.sub-select-card input[type=radio]:checked + label span.rounded-full {
  background: #00afff;
  border-width: 0;
}

.sub-select-card input[type=radio]:checked + label span svg {
  display: block;
}

@media (min-width: 768px) {
  .sub-select-card {
    justify-self: center;
  }
}

/* =========================================================
   IMAGE UTILITIES
   ========================================================= */
.rect-img-container {
  position: relative;
  display: block;
}

.rect-img-container::after {
  content: "";
  display: block;
  padding-bottom: 100%;
}

.rect-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.arrow-up {
  width: 100%;
  margin: 3rem 0;
  text-align: center;
}

.arrow-up .arrow-image {
  display: inline-block;
  max-width: 200px;
}

/* =========================================================
   TIME LINKS
   ========================================================= */
.time-links {
  display: none;
}

.time-links .time-link {
  margin: 5px;
}

/* =========================================================
   RESPONSIVE OVERRIDES
   ========================================================= */
@media screen and (max-width: 767px) {
  .mainButtonArea {
    position: fixed;
    z-index: 1;
    bottom: 0;
    left: 0;
    right: 0;
    background: #222;
  }

  .mainButtonArea .continueButton {
    width: 100%;
  }

  .sub-select-card h3 {
    font-size: 1em;
  }

  #Slide-template--23455022383378__multicolumn_ar4EXc-3,
  #Slide-template--23455041028370__multicolumn_ar4EXc-3 {
    display: none;
  }
}

@media screen and (max-width: 989px) {
  .carousel-cell {
    height: 200px;
  }

  #sub-builder h2 {
    margin-top: 20px;
  }

  .grid-wrapper {
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
  }

  #Slide-template--23393646379282__multicolumn_ar4EXc-3 {
    display: none;
  }
}

/* Legal Text */
.legalText {
  margin: 50px 50px 0 50px;
}

/* Continue Button Styles */
.continueButton {
  cursor: pointer;
  transform-style: preserve-3d;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  min-width: 300px;
}

.ready.continueButton {
  animation: bounceRightOvershoot 5s ease-out infinite;
}

/* Keyframes for button animation */
@keyframes buttonAttention {
  0%, 100% { transform: scale(1); }
  20% { transform: scale(1.1); }
  40% { transform: scale(0.98); }
  60% { transform: scale(1.05); }
  80% { transform: scale(1); }
}

@keyframes bounceRight {
  0% { transform: translateX(0); }
  10% { transform: translateX(60px); }
  20% { transform: translateX(0); }
  30% { transform: translateX(40px); }
  40% { transform: translateX(0); }
  50% { transform: translateX(20px); }
  60% { transform: translateX(0); }
  100% { transform: translateX(0); }
}

@keyframes bounceRightOvershoot {
  0% { transform: translateX(0); }
  2% { transform: translateX(100px); }
  5% { transform: translateX(-10px); }
  8% { transform: translateX(50px); }
  11% { transform: translateX(-10px); }
  14% { transform: translateX(25px); }
  17% { transform: translateX(-10px); }
  100% { transform: translateX(-10px); }
}

/* =========================================================
   SKELETON CARD (LOADING PLACEHOLDER)
   ========================================================= */
.skeleton__card {
  min-height: 300px;
  width: 300px;
  background-color: #e0e0e0;
  animation: pulse 1.5s infinite ease-in-out;
  padding: 5px;
}

.skeleton__card:nth-child(even) {
  animation: pulse 2s infinite ease-in-out;
  background-color: #d0d0d0;
}

.skeleton__card .skeleton__image {
  height: 100px;
  width: 100%;
  display: block;
  border: 1px solid grey;
  background-color: rgb(158, 158, 158);
  margin: 2px;
}

.skeleton__card .skeleton__text {
  width: 100%;
  height: 20px;
  margin: 24px 2px;
  display: block;
  background-color: rgb(158, 158, 158);
  animation: pulse 1.5s infinite ease-in-out;
}

.skeleton__card .skeleton__circle {
  width: 35px;
  height: 35px;
  margin: 10px auto;
  border-radius: 100%;
  display: block;
  background-color: rgb(158, 158, 158);
}

/* Pulse Animation */
@keyframes pulse {
  0% { opacity: 1; }
  50% { opacity: 0.5; }
  100% { opacity: 1; }
}

/* =========================================================
   CAROUSEL
   ========================================================= */
.carousel {
  background: #FAFAFA;
  margin-bottom: 40px;
}

.carousel-cell {
  background: #333;
  width: 100%;
  height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-cell img,
.carousel-cell-image {
  display: block;
  max-height: 100%;
  max-width: 100%;
  margin: 0 auto;
  transition: opacity 0.4s;
}

.carousel.is-fullscreen .carousel-cell {
  height: 100%;
}

/* Fade in lazyloaded images */
.carousel-cell-image.flickity-lazyloaded,
.carousel-cell-image.flickity-lazyerror {
  opacity: 1;
}
