/** Shopify CDN: Minification failed

Line 343:51 Expected identifier but found "!"
Line 886:15 Expected identifier but found whitespace
Line 886:16 Unexpected "rgba("

**/
/* ================================
   Global Color Variables
================================ */
:root {
  --color-dark-blue: #0b1a35;       /* Primary background */
  --color-dark-gray:  #6e6e6e;       /* Paragraphs */
  --color-light-blue: #a8d1ff;      /* Text & accents */
  --color-soft-gray: #e6e9ed;       /* Neutral background */
  --color-very-light-teal: #cce5e5;
  --color-light-teal: #85D8D8;
  --color-teal: #00bfa6;            /* CTA & highlights */
  --color-sligt-dark-teal: #77dfdf;
  --color-dark-teal: #009682;       /* Hover state */
  --color-off-white: #f8f9fa;       /* Section backgrounds */
  --color-gold: #f6c90e;            /* Review stars */
  --color-text-dark: #2c3e50;       /* Body text */
  --color-orange: #ff7a00;
}

html {
  scroll-behavior: smooth;
}

/* ===============================
  Customer account details
=============================== */
.customer-account-details {
  padding-top: 100px;
  padding-left: 30px;
  max-width: 600px;
  margin: 0 auto;
}

.customer-account-name {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.5rem;
  font-weight: 600;
}

.customer-account-email {
  margin-bottom: 20px;
}

.customer-account-addresses h3 {
  margin-bottom: 10px;
}

.customer-address {
  padding-top: 70px;
  position: relative;
}

.customer-account-addresses .customer-address:nth-child(odd) {
  background-color: #f9f9f9;
}

.customer-account-addresses .customer-address:nth-child(even) {
  background-color: #ffffff;
}

.edit-details-button {
  display: inline-block;
  margin-top: 15px;
  padding: 10px 20px;
  background-color: #007bff;
  color: white;
  text-decoration: none;
  border-radius: 4px;
}

/* Add padding to account detail labels on mobile */
@media screen and (max-width: 759px) {
  .customer-account-details p,
  .customer-account-details h3 {
    padding-left: 1rem; /* adjust as needed */
    padding-right: 1rem; /* optional */
  }
}

/* ================================
  Orders lst
================================ */
 .customer-order-history {
  margin-top: 6rem;
}

/*
.order-history-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1rem;
}

.order-history-table th,
.order-history-table td {
  border: 1px solid #ddd;
  padding: 0.75rem 1rem;
  text-align: left;
}

.order-history-table tr.even {
  background-color: #f9f9f9;
}

.order-history-table tr.odd {
  background-color: #ffffff;
}

.order-history-table th {
  background-color: #f1f1f1;
}

.btn-view {
  display: inline-block;
  padding: 0.5rem 1rem;
  background-color: #007b4d;
  color: white;
  text-decoration: none;
  border-radius: 4px;
}

.btn-view:hover {
  background-color: #005e38;
}

@media screen and (max-width: 759px) {
  .order-history-table, 
  .order-history-table thead, 
  .order-history-table tbody, 
  .order-history-table th, 
  .order-history-table td, 
  .order-history-table tr {
    display: block;
  }

  .order-history-table tr {
    margin-bottom: 1rem;
  }

  .order-history-table td {
    text-align: right;
    padding-left: 50%;
    position: relative;
  }

  .order-history-table td::before {
    content: attr(data-label);
    position: absolute;
    left: 0;
    width: 50%;
    padding-left: 1rem;
    font-weight: bold;
    text-align: left;
  }
} */

/* Desktop Table Styling */
.order-history-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1rem;
}

.order-history-table th,
.order-history-table td {
  padding: 12px 10px;
  border: 1px solid #ddd;
  text-align: left;
}

/* Alternate row colors for desktop */
.order-history-table tbody tr.even {
  background-color: #f9f9f9;
}

.order-history-table tbody tr.odd {
  background-color: #ffffff;
}

/* Button styling */
.btn-view {
  padding: 6px 12px;
  font-size: 0.875rem;
  background-color: #007b55;
  color: #fff;
  border-radius: 4px;
  text-decoration: none;
}

.btn-view:hover {
  background-color: #00563b;
}

/* Mobile responsive: stacked orders */
@media screen and (max-width: 600px) {
  .order-history-table,
  .order-history-table thead,
  .order-history-table tbody,
  .order-history-table th,
  .order-history-table td,
  .order-history-table tr {
    display: block;
    width: 100%;
  }

  .order-history-table thead {
    display: none; /* hide headers on mobile */
  }

  .order-history-table tbody tr {
    margin-bottom: 15px;
    padding: 10px;
    border-radius: 6px;
  }

  /* Alternate background colors for mobile stacked cards */
  .order-history-table tbody tr.even {
    background-color: #f9f9f9;
  }

  .order-history-table tbody tr.odd {
    background-color: #ffffff;
  }

  .order-history-table td {
    border: none;
    padding: 8px 10px;
    position: relative;
    text-align: left;
  }

  /* Label before each field */
  .order-history-table td:nth-of-type(1)::before { content: "Order:"; font-weight: bold; }
  .order-history-table td:nth-of-type(2)::before { content: "Date:"; font-weight: bold; }
  .order-history-table td:nth-of-type(3)::before { content: "Status:"; font-weight: bold; }
  .order-history-table td:nth-of-type(4)::before { content: "Total:"; font-weight: bold; }
  .order-history-table td:nth-of-type(5)::before { content: "Action:"; font-weight: bold; }

  .order-history-table td::before {
    display: inline-block;
    width: 100px;
  }
}

/* ===============================
Address card
=============================== */
.address-card {
  padding: 1rem;
  border-radius: 10px;
  margin-bottom: 1rem;
  border: 1px solid #e2e2e2;
  position: relative;
}

.address-card.is-default {
  border-left: 4px solid var(--color-gold);
}

[id^="EditAddress_"] {
  display: none;
}

.address-card:nth-child(odd) {
  background: #fafafa;
}

.address-card:nth-child(even) {
  background: #f0f0f0;
}

.default-badge {
  display: inline-block;
  background-color: var(--color-gold);
  color: #000;
  font-size: 1.2rem;
  padding: 2px 6px;
  border-radius: 3px;
  position: absolute;
  top: 10px;
  right: 10px;
}

.address-text {
  line-height: 1.5;
  margin-bottom: 1rem;
}

.address-card-actions {
  display: flex;
  gap: 10px;
  margin-bottom: 1rem;
}

.btn-edit,
.btn-delete {
  padding: 6px 14px;
  border-radius: 6px;
  border: none;
  font-size: 0.85rem;
  cursor: pointer;
}

.btn-edit {
  background: #007aff;
  color: #fff;
}

.btn-delete {
  background: #d9534f;
  color: #fff;
}

.edit-form-container {
  display: none;
  padding: 1rem;
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #ccc;
  margin-top: 1rem;
}

.edit-buttons button {
  margin-right: 10px;
  padding: 8px 15px;
}



/* ================================
   Base Typography & Body
================================ */
body {
  font-family: "Questrial", "Poppins", sans-serif; !important;
  color: var(--color-light-blue);
  background-color: var(--color-dark-blue);
  line-height: 1.6;
  font-size: 16px;
  margin: 0;
  overflow-x: hidden; /* Prevent unwanted horizontal scrollbars */
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  color: var(--color-light-blue);
  margin-bottom: 0.5em;
}

/* =========================================
   All paragraphs to have consistent colour
============================================ */
p {
  color: var(--color-dark-gray);
  margin-bottom: 1.2em;
}

/* ================================
   Buttons
================================ */
.button, .shopify-payment-button, .btn, .button--primary {
  color: var(--color-light-teal);
  border: none;
  border-radius: 8px;
  padding: 0.75em 1.5em;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.button:hover, .shopify-payment-button:hover, .btn:hover, .button--primary:hover {
  transform: translateY(-2px);
}

/* Secondary Button */
.button--secondary, .btn-secondary {
  background-color: transparent;
  color: var(--color-dark-blue);
  border: 2px solid var(--color-teal);
  border-radius: 8px;
  padding: 0.75em 1.5em;
  transition: all 0.3s ease;
}

.button--secondary:hover, .btn-secondary:hover {
  background-color: var(--color-teal)!important;
  color: #fff;
}

/* ================================
   Banners & Headers
================================ */
.banner, .hero-section {
  background: linear-gradient(to bottom, var(--color-dark-blue), var(--color-teal));
  color: #fff;
  text-align: center;
  padding: 4em 2em;
}

.banner h1, .hero-section h1 {
  color: #fff;
  font-size: 2.5rem;
  letter-spacing: 1px;
}

/* ================================
   Review Section
================================ */
.review-section {
  background-color: var(--color-soft-gray);
  color: var(--color-text-dark);
  padding: 3em 2em;
  border-top: 1px solid var(--color-light-blue);
  border-bottom: 1px solid var(--color-light-blue);
}

.review-section h3 {
  color: var(--color-dark-blue);
}

.star-rating i,
.star-rating svg {
  color: var(--color-gold);
}

.star-rating.teal i,
.star-rating.teal svg {
  color: var(--color-teal);
}

/* ================================
   Product Cards & Layout
================================ */
.product-card {
  background-color: var(--color-off-white);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: all 0.3s ease;
}

.product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.product-card .card-title {
  color: var(--color-dark-blue);
  font-weight: 600;
}

.product-card .price {
  color: var(--color-teal);
  font-weight: 700;
}

/* ================================
   Section Dividers & Spacing
================================ */
.section-divider {
  width: 100%;
  height: 1px;
  background-color: var(--color-teal);
  margin: 2em 0;
}

.section {
  padding-top: 2em;
  padding-right: 1em;
  padding-bottom: 1em;
  padding-left: 1em;
}

.section.light {
  background-color: var(--color-off-white);
  color: var(--color-text-dark);
}

.section.dark {
  background-color: var(--color-dark-blue);
  color: var(--color-light-blue);
}

/* ================================
   Images & Icons
================================ */
img {
  max-width: 100%;
  border-radius: 12px;
}

/* ================================
   Summary badge
================================ */

.jdgm-link-to-reviews {
  display: inline-block;
  text-decoration: none;
  color: inherit;
  margin-bottom: 0.5em;
}

/* ================================
   Footer
================================ */
footer {
  background-color: var(--color-dark-blue);
  color: var(--color-light-blue);
  padding: 2em;
  text-align: center;
  border-top: 1px solid var(--color-teal);
}

footer a {
  color: var(--color-teal);
  text-decoration: none;
}

footer a:hover {
  text-decoration: underline;
}

.sticky-atc-container {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 9500;
  overflow: visible !important;

  /* keep a smaller upward nudge so it sits perfectly flush */
  transform: translateY(-10px);

  /* add enough inner padding to keep content inside the box */
  padding: 18px 20px calc(env(safe-area-inset-bottom) + 12px);

  display: flex;
  align-items: center; /* centers vertically */
  justify-content: space-between;

  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
  min-height: 68px;
  box-sizing: border-box;
  background: #fff; /* ensure visible background */
}

.sticky-atc-container button {
  align-self: center;
  margin-top: 5px; /* gentler than top:3px for flex items */
}

/* Make sure parent sections don't clip it */
.product-section,
.main-content,
.page-container,
.ai-section {
  overflow: visible !important;
}

/* Change Send button color in contact form */
.contact__button .button {
  background-color: var(--color-light-teal) !important;
  color: var(--color-text-dark) !important;
  border: none;
  border-radius: 6px;
  padding: 12px 24px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

/* Hover state */
.contact__button .button:hover {
  background-color: var(--color-dark-teal) !important;
  color: #fff !important;
}

/* Change product price color across all collection pages */
.price,
.price .price-item,
.card__information .price-item {
  font-size: 14px;
  color: var(--color-text-dark) !important; /* change to your preferred color */
}

/* If you only want to change it on the collections/all page and not everywhere */
/* .template-collection .price-item {
  color: #000 !important;
} */

/* Product title font (collection cards) */
.full-unstyled-link {
  font-size: 16px;
  color: var(--color-text-dark) !important; /* adjust as needed */
}

/* Change the Product Description Font Family (Product page) */
.product__description,
.product__description *,
.rte,
.rte * {
  color: var(--color-text-dark) !important;
  line-height: 1.6;
}

/* Change other Product areas */
.collection-hero__title,
.product__title h1,
.product__title h2,
.product__title a,
.product__title a h1,
.product__title a h2 {
  font-weight: 600;
  color: var(--color-text-dark) !important;
  line-height: 1.3;
  text-transform: none; /* remove uppercase if theme applies it */
}

/* Change font for static page titles (like Shipping Policy, About, etc.) */
.main-page-title,
.page-title,
h1.main-page-title.page-title.h0 {
  padding-top: 30px;
  font-weight: 700; /* 600 for semi-bold */
  font-size: 2.5rem !important; /* adjust: 2rem ≈ 32px, 2.5rem ≈ 40px */
  color: #111 !important; /* set your preferred color */
  text-transform: none; /* remove uppercase if the theme enforces it */
  letter-spacing: 0.5px;
  line-height: 1.2;
  text-align: center; /* optional — center the title */
}
@media (max-width: 768px) {
  .main-page-title {
    font-size: 1.8rem !important;
  }
}

/* Slideshow section */
.section.slideshow,
.section--slideshow,
#shopify-section-slideshow,
[id*="__ds_slideshow"],
slideshow-component {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

.slideshow__slide .button--primary {
  background-color: var(--color-light-teal);
}

/* Optional: hover effect */
.slideshow__slide .button--primary:hover {
  background-color: var(--color-teal);
  color: #ffffff;
}

/* ====== Make only the newsletter section full width ====== */
/* Target by common patterns used in AI Builder theme IDs/classes */
section[id*="newsletter"],
section[id*="email_signup"],
section[id*="__ds_newsletter"],
section[id*="__ds_email_signup"],
.newsletter-section,
.newsletter {
  /* remove the theme's usual boxed padding */
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* If theme wraps content with a .page-width inside the section, clear it */
section[id*="newsletter"] .page-width,
section[id*="email_signup"] .page-width,
[id*="__ds_newsletter"] .page-width,
[id*="__ds_email_signup"] .page-width {
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box;
}

/* ====== Allow the actual form to expand ====== */
/* Remove the narrow max-width applied at desktop */
.newsletter-form {
  width: 100% !important;
  max-width: none !important;      /* override max-width: 36rem; */
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  align-items: center !important;  /* keep inputs centered on narrower viewports */
  box-sizing: border-box;
}

/* Ensure field wrapper fills the available area */
.newsletter-form__field-wrapper,
.newsletter-form form,
.newsletter-form .newsletter__wrapper {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
  box-sizing: border-box;
}

/* Keep submit button positioned correctly when form stretches */
.newsletter-form__button {
  right: var(--inputs-border-width, 0) !important;
  margin: 0 !important;
}

/* Optional: make the background of the section span edge-to-edge (if you have a background color/image) */
section[id*="newsletter"],
section[id*="email_signup"] {
  background-clip: border-box;
}

/* Ensure background and content fill the viewport edge-to-edge */
slideshow-component,
.banner__media,
.slideshow__media {
  width: 100% !important;
  max-width: 100% !important;
  display: block;
}

/* --- Base layout: each .image-with-text row as a card --- */
.image-with-text.isolate {
  position: relative;
  /* border: 1px solid orange;
  border-radius: 12px; */
  overflow: hidden;
  /* box-sizing: border-box; */
  /* margin-bottom: 2rem; */
  /* transition: border-color 0.3s ease, box-shadow 0.3s ease; */
}

/* --- Flex container for image/text alignment (desktop) --- */
@media screen and (min-width: 750px) {
  .image-with-text__grid {
    display: flex;
    align-items: stretch;
  }

  /* Alternate accent sides with shadow on desktop */
  /* .image-with-text.isolate:nth-of-type(odd) {
    border-right: 5px solid orange;
    border-left: 1px solid orange;
    box-shadow: 3px 0 8px rgba(255, 165, 0, 0.3);
  }

  .image-with-text.isolate:nth-of-type(even) {
    border-left: 5px solid orange;
    border-right: 1px solid orange;
    box-shadow: -3px 0 8px rgba(255, 165, 0, 0.3);
  } */
}

/* --- Mobile: consistent orange frame + bottom highlight --- */
@media screen and (max-width: 749px) {
  /* .image-with-text.isolate {
    border: 1px solid orange;
    border-bottom: 1px solid var(--color-dark-gray);
    box-shadow: 0 0px 8px rgba(255, 165, 0, 0.25);
  } */

  .image-with-text__media {
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 1rem; /* spacing between image and text */
  }

  /* Add bottom spacing for text */
  /* .image-with-text__text-item {
    padding: 1.5rem;
  } */
}

/* --- Inner grid fit --- */

.image-with-text__grid {
  width: 100%;
  height: 100%;
  border: none;
  box-sizing: border-box;
}

/* Image-with-text: Remove side padding/gaps */

/* If your theme wraps content with .content-container that introduces horizontal padding, reset that too */
.image-with-text__content.content-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ===========================
   Button: make it auto-expand (no wrapping) and behave on mobile
   =========================== */

/* Default: allow button to size to its content, prevent wrapping */
.image-with-text__content .button,
.image-with-text__text-item .button {
  display: inline-flex;            /* shrink to fit text but stay flexible */
  align-items: center;
  justify-content: center;
  white-space: nowrap;             /* prevent text from wrapping to a second line */
  padding: 0.6rem 1.2rem;          /* tweak button padding if needed */
  width: auto;                     /* do not force narrow width */
  max-width: 100%;                 /* safety: never overflow parent */
  box-sizing: border-box;
  word-break: keep-all;            /* avoid mid-word breaks */
  -webkit-font-smoothing: antialiased;
}

.image-with-text__content.image-with-text__content--mobile-center {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    background-color: var(--color-off-white);
}

/* ===========================
   Optional: preserve vertical spacing between elements
   =========================== */
/* .image-with-text__text-item.grid__item .image-with-text__content {
  padding-top: 1rem;
  padding-bottom: 1rem;
} */

/* --- Media container --- */
.image-with-text__media {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  z-index: 2;
  border-radius: 12px;
  overflow: hidden;
}

/* Remove stray padding/margin */
.image-with-text__media-item {
  padding: 0 !important;
  margin: 0 !important;
}

/* Image itself: fill container + inherit rounding */
.image-with-text__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  display: block;
}

/* Text side */
.image-with-text__text-item {
  padding: 1.5rem;
  box-sizing: border-box;
}

/* @media screen and (max-width: 749px) {
  .image-with-text.isolate::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 10px; /* glow height */
    background: rgba(255, 165, 0, 0.25);
    border-radius: 0 0 12px 12px; /* match container rounding */
    z-index: 1;
  }
} */

/* ================= Icon Bar Styles (untouched) ================= */
.multicolumn.icon-bar {
  border: 1px solid #FFA500;
  border-top: 5px solid #FFA500;
  border-bottom: 5px solid #FFA500;
  border-radius: 12px;
  padding: 1rem;
  position: relative;
  margin: 2rem auto;
  max-width: 75%;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .multicolumn.icon-bar {
    padding: 0.2rem;
    margin: 0.5rem auto;
    max-width: 90%;
  }
}

.icon-bar .title-wrapper-with-link h2 {
  text-align: center;
  position: relative;
}

/* Divider line under title */
.icon-bar .title-wrapper-with-link h2::after {
  content: "";
  display: block;
  height: 2px;
  width: 80%;
  margin: 1rem auto 1rem auto;
  background-color:var(--color-dark-gray);
  border-radius: 2px;
}

/* 2. Remove top padding from icon containers */
.icon-bar,
.icon-bar .page-width,
.icon-bar .multicolumn,
.icon-bar .slider-mobile-gutter,
.icon-bar .multicolumn-list,
.icon-bar .icon-bar-card {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* 3. Increase font size for icon titles */
.icon-bar .icon-bar-card__info h3 {
  font-size: 1.3rem !important;
  font-weight: 600;
  line-height: 1.3;
  margin-top: 0.25rem;
  margin-bottom: 0.5rem;
}

/* 4. Remove mobile side and bottom padding */
@media (max-width: 768px) {
  .icon-bar .slider-mobile-gutter,
  .icon-bar .multicolumn-list__item,
  .icon-bar .icon-bar-card {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
  }

  .icon-bar .multicolumn-list {
    gap: 0 !important;
  }
}


/* ================= Mobile Styles ================= */
@media screen and (max-width: 749px) {
  .content-and-comparison-table {
    padding: 1rem;
    width: 95%;
  }

  /* Make table scrollable, full width, no visible borders */
  .comparison-table-container {
    overflow-x: auto;
  }

  .comparison-table {
    display: table;
    width: 100%;
    table-layout: auto;
    border-collapse: collapse;
  }

  .comparison-table th,
  .comparison-table td {
    display: table-cell;
    min-width: 140px; /* ensure cells are readable */
    padding: 1rem;
    border: none; /* remove all borders on mobile */
    background-color: inherit; /* inherit alternating row background */
  }

  .comparison-table__checkmark,
  .comparison-table__x {
    width: 20px;
    height: 20px;
  }

  .content-and-comparison-table h2 {
    font-size: 2rem; /* match desktop */
  }
  .content-and-comparison-table h3 {
    font-size: 1rem;
  }
  .content-and-comparison-table h5 {
    font-size: 0.9rem;
  }

  /* Icon bar mobile shadow */
  /* .multicolumn.icon-bar {
    box-shadow: 0 4px 8px rgba(255, 165, 0, 0.25);
  } */

  .icon-bar-slider {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
}

/* Main product details modal popup for payment options badge */

.payment-modal {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;

  display: none;
  justify-content: center;
  align-items: center;

  background: rgba(0, 0, 0, 0.45);
  z-index: 99999 !important;

  transform: none !important; /* Prevent parent transforms from breaking centering */
  opacity: 0;
  transition: opacity 0.25s ease;
}

.payment-modal.active {
  display: flex !important;
  opacity: 1;
}

.payment-modal-content {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  max-width: 480px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);transform: scale(0.92);
  opacity: 0;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.payment-modal.active .payment-modal-content {
  transform: scale(1);
  opacity: 1;
}

.payment-modal-close {
  position: absolute;
  top: 10px;
  right: 14px;
  font-size: 28px;
  cursor: pointer;
}

.payment-options-link {
  display: inline-block;
  margin-top: 10px;
  margin-bottom: 12px;
  font-size: 1.50rem;
  font-weight: 600;
  color: var(--color-foreground, #1a1a1a);
  text-decoration: underline;
  cursor: pointer;
  text-align: center;
  width: 100%;
  padding: 6px 0;
  cursor: pointer !important;
  pointer-events: auto !important;
}

.payment-options-link:hover {
  opacity: 0.7;
}

/* Quantity seclector with + and - */

.custom-qty-wrapper {
  margin: 1.5rem 0;
}

.qty-label {
  font-size: 16px;
  margin-bottom: 0.5rem;
  display: block;
}

.custom-qty-box {
  display: flex;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: rgba(0, 0, 0, 0.04) 0 1px 3px;
  width: fit-content;
}

.qty-btn {
  padding: 14px 18px; /* Mobile-friendly */
  font-size: 22px;
  border: none;
  background: #f8f8f8;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.qty-btn:hover:not(:disabled) {
  background: black;
  color: white;
}

.qty-btn:disabled {
  opacity: .35;
  cursor: not-allowed;
}

.custom-qty-input {
  width: 70px;
  text-align: center;
  font-size: 18px;
  border: 0;
  background: white;
  padding: 14px 0;
  transition: background 0.2s, color 0.2s;
}

.custom-qty-input::-webkit-inner-spin-button,
.custom-qty-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* ALERT BOX */
.qty-max-alert {
  margin-top: 10px;
}

.qty-alert-box {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: #fee2e2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  font-size: 14px;
  color: #991b1b;
}

/* Button press animation */
.qty-btn:active {
  transform: scale(0.95);
  transition: transform 0.1s ease-in-out;
}

/* Smooth press animation */
.qty-pressed {
  transform: scale(0.92);
  transition: transform 120ms ease;
}

/* Remove extra padding from the slider wrapper */ 
.page-width.section-template--26873138676047__ds_icon_bar_HaUALW-padding { 
  padding-left: 0 !important; 
  padding-right: 0 !important; 
} 

/* Reduce padding/margin on each card */ 
.icon-bar-card.multicolumn-card.content-container { 
  padding-left: 0.5rem !important; 
  margin: 0 !important; 
}

.product-form__row {
  display: flex;
  align-items: center;   /* vertically center them */
  justify-content: space-between; /* left & right alignment */
  gap: 1rem;             /* optional spacing between elements */
}

.product-form__quantity {
  flex: 1;               /* allow it to take remaining space if needed */
  max-width: 200px;      /* optional: limit width */
}

.product-form__buttons {
  flex-shrink: 0;        /* prevent shrinking */
}