/** Shopify CDN: Minification failed

Line 794:0 Expected "}" to go with "{"

**/
/* Form-Style Product Styling */

/* Full-width info wrapper (for no-media layouts) */
.product.form-style .product__info-wrapper--full-width {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

/* Form container with CSS variable support */
.product.form-style .product__info-wrapper {
  width: 100% !important;
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  grid-column: 1/-1 !important;
  background-color: var(--form-bg-color, #f9f9f9);
  border-radius: var(--form-border-radius, 12px);
  padding: var(--form-padding, 30px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  margin-bottom: 20px;
}

/* Remove media section in form-style */
.product.form-style .product__media-wrapper {
  display: none !important;
}

/* Main title styling */
.product.form-style .service-main-title {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 5px;
  color: var(--text-color, #333);
}

/* Size title styling - Enhanced to connect better with button */
.product.form-style .size-title-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: 10px 15px;
  border: 1px solid #e0e0e0;
}

.product.form-style .product__title {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 600;
  color: #454F2D;
  padding-right: 15px;
}

/* Change size button - Matched to cart button styling */
.product.form-style .change-size-button {
  display: inline-block;
  margin-left: 10px;
  padding: 8px 16px;
  background-color: #454F2D;
  color: white;
  border: none;
  border-radius: 50px;
  font-size: 14px;
  font-weight: normal;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
  white-space: nowrap;
  min-width: 100px;
  text-align: center;
}

.product.form-style .change-size-button:hover {
  background-color: #5D6B3C;
  transform: translateY(-1px);
}

/* Step headings - RESTORED */
.product.form-style .step-heading {
  margin-top: 25px;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: 600;
}

.product.form-style .step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #454F2D;
  color: white;
  margin-right: 10px;
  font-weight: bold;
  font-size: 14px;
}

/* IMPORTANT: Remove rule that was hiding step headings */
.product.form-style .step-heading:not(:first-of-type) {
  display: flex !important; /* Force display of all step headings */
}

/* Variant picker styling - Updated to match other buttons */
.product.form-style .product-form__input .form__label {
  font-weight: 600;
  margin-bottom: 10px;
}

.product.form-style .product-form__input .button {
  width: 100%;
  text-align: left;
  padding: 15px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  background: white;
  margin-bottom: 10px;
  position: relative;
  transition: all 0.2s;
}

/* When variant button is hovered */
.product.form-style .product-form__input .button:hover {
  border-color: #454F2D;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  background-color: #f9f9f9;
}

/* When variant button is selected/active */
.product.form-style .product-form__input .button[aria-pressed="true"] {
  border-color: #454F2D;
  background-color: #454F2D;
  color: white;
}

/* Variant info container */
.product.form-style .variant-info-container {
  background-color: #f5f9fa;
  border-radius: 8px;
  padding: 15px;
  margin-top: 10px;
  margin-bottom: 20px;
  border-left: 4px solid #454F2D;
}

.product.form-style .variant-info h4 {
  font-size: 16px;
  font-weight: 600;
  margin-top: 0;
  margin-bottom: 10px;
}

.product.form-style .variant-info ul {
  padding-left: 20px;
  margin-bottom: 10px;
}

.product.form-style .variant-info ul li {
  margin-bottom: 5px;
}

/* Super Subscriptions styling */
.product.form-style [data-block-type*="super-subscriptions"] {
  padding: 20px;
  background-color: white;
  border-radius: 8px;
  border: 2px solid #e0e0e0;
  margin-bottom: 20px;
  display: block;
}

.product.form-style [data-block-type*="super-subscriptions"] .subscription-option {
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 15px;
}

.product.form-style [data-block-type*="super-subscriptions"] .subscription-option:hover {
  border-color: #454F2D;
}

.product.form-style [data-block-type*="super-subscriptions"] .subscription-option input:checked ~ * {
  background-color: #454F2D;
  color: white;
}

/* PILL-SHAPED BUTTON STYLING */
.product.form-style .product-form__submit {
  background-color: #454F2D;
  color: white;
  font-weight: normal;
  padding: 15px 25px;
  border-radius: 50px !important; /* Force full pill shape with !important */
  width: 100%;
  font-size: 16px;
  border: none !important; /* Remove default borders */
  box-shadow: none !important; /* Remove default shadow */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s, transform 0.1s;
}

.product.form-style .product-form__submit:hover {
  background-color: #5D6B3C;
  transform: translateY(-1px);
}

.product.form-style .product-form__submit:active {
  transform: translateY(0);
}

/* Always enable the submit button regardless of variant */
.product.form-style .product-form__submit[disabled],
.product.form-style .product-form__submit.disabled,
.product.form-style .product-form__submit.button--disabled {
  opacity: 1 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  background-color: #454F2D !important;
  color: white !important;
  border-radius: 50px !important; /* Ensure pill shape */
  font-weight: normal;
}

/* Hide the "sold out" or "unavailable" messages */
.product.form-style .product__info-container .product-form__buttons [data-button-status="sold-out"],
.product.form-style .product__info-container .product-form__buttons [data-button-status="unavailable"] {
  display: none !important;
}

/* Ensure proper spacing between buttons */
.product.form-style .product-form__buttons {
  margin-top: 15px;
  display: block;
  width: 100%;
}

/* Make sure app elements have proper styling */
.product.form-style .product-form__buttons > * {
  margin-top: 15px;
  width: 100%;
}

/* Guarantees section */
.product.form-style .guarantees-container {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
}

.product.form-style .guarantee-item {
  display: flex;
  align-items: center;
  margin-right: 15px;
  margin-bottom: 15px;
}

.product.form-style .guarantee-item svg {
  color: #454F2D;
  margin-right: 5px;
}

/* Fix dynamic checkout buttons if needed */
.product.form-style .shopify-payment-button {
  margin-top: 10px;
  width: 100%;
}

.product.form-style .shopify-payment-button .shopify-payment-button__button {
  border-radius: 50px !important; /* Ensure pill shape for dynamic checkout buttons */
  font-weight: normal;
}

/* Set all buttons to normal font weight */
.product.form-style button,
.product.form-style .button,
.product.form-style [type="button"],
.product.form-style [type="submit"],
.product.form-style .shopify-payment-button__button {
  font-weight: normal !important;
}

@media screen and (max-width: 749px) {
  .product.form-style .product__info-wrapper {
    padding: calc(var(--form-padding, 30px) / 1.5);
  }
  
  .product.form-style .service-main-title {
    font-size: 2rem;
  }
  
  /* Keep title and button on same line for mobile */
  .product.form-style .size-title-container {
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    padding: 8px 12px;
  }
  
  /* Responsive title size that adapts to container */
  .product.form-style .product__title {
    font-size: 1.2rem; /* More readable for mobile */
    line-height: 1.3;
    padding-right: 8px;
    max-width: calc(100% - 100px); /* Dynamically adjust to container */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  
  .product.form-style .change-size-button {
    padding: 6px 12px;
    font-size: 12px;
    min-width: 90px;
    flex-shrink: 0; /* Prevent button from shrinking */
  }
  
  .product.form-style .guarantees-container {
    flex-direction: column;
  }
  
  .product.form-style .guarantee-item {
    margin-right: 0;
  }
  
  /* Slightly smaller step headings on mobile */
  .product.form-style .step-heading {
    font-size: 16px;
  }
}

/* For very small screens */
@media screen and (max-width: 375px) {
  .product.form-style .product__title {
    font-size: 1rem; /* Still readable but more compact */
    max-width: calc(100% - 90px);
  }
  
  .product.form-style .change-size-button {
    padding: 5px 10px;
    font-size: 11px;
    min-width: 80px;
  }
}

/* PILL-SHAPED BUTTON STYLING - Critical fix */
.product.form-style .product-form__submit,
.product.form-style button[type="submit"],
.product.form-style .shopify-payment-button__button {
  border-radius: 50px !important; /* Force full pill shape */
  overflow: hidden;
}

/* Ensure submit button and all payment buttons use pill shape */
.product.form-style .product-form__buttons button,
.product.form-style .shopify-payment-button__button,
.product.form-style .shopify-payment-button__more-options {
  border-radius: 50px !important;
}

/* Additional variant picker button styles */
.product.form-style .product-variant-swatch .button[aria-pressed="true"],
.product.form-style variant-radios .product-form__input input[type="radio"]:checked + label,
.product.form-style variant-selects .product-form__input input[type="radio"]:checked + label,
.product.form-style .variant-picker__option.selected,
.product.form-style .product-form__input input[type="radio"]:checked ~ .variant-option,
.product.form-style .selected-value {
  background-color: #454F2D !important;
  color: white !important;
  border-color: #454F2D !important;
}
.animate-arrow {
  display: inline-flex;
  align-items: center;
  color: #454F2D;
  font-weight: 500;
  text-decoration: none;
  transition: transform 0.15s ease;
  margin-top: 10px;
}

.animate-arrow:hover {
  transform: translateX(3px);
}

.animate-arrow svg {
  position: relative;
  top: -1px;
  margin-left: 5px;
  fill: currentColor;
  width: 12px;
  height: 12px;
  transition: transform 0.15s ease;
}

.animate-arrow:hover svg {
  transform: translateX(3px);
}
/* Updated variant info container styling to match size title container */
.product.form-style .variant-info-container {
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: 15px;
  margin-top: 10px;
  margin-bottom: 20px;
  border: 1px solid #e0e0e0;
  color: #333333; /* Ensuring text is black/dark */
}

.product.form-style .variant-info h4 {
  font-size: 16px;
  font-weight: 600;
  margin-top: 0;
  margin-bottom: 10px;
  color: #454F2D; /* Match heading to primary color like other headings */
}

.product.form-style .variant-info p,
.product.form-style .variant-info li {
  color: #333333; /* Ensuring text is black/dark */
  font-size: 14px;
  line-height: 1.5;
}

.product.form-style .variant-info ul {
  padding-left: 20px;
  margin-bottom: 10px;
}

.product.form-style .variant-info ul li {
  margin-bottom: 5px;
}

/* Animated arrow link style - Updated to match other links in form */
.product.form-style .animate-arrow {
  display: inline-flex;
  align-items: center;
  color: #454F2D;
  font-weight: 500;
  text-decoration: none;
  transition: transform 0.15s ease;
  margin-top: 10px;
}

.product.form-style .animate-arrow:hover {
  transform: translateX(3px);
}

.product.form-style .animate-arrow svg {
  position: relative;
  top: -1px;
  margin-left: 5px;
  fill: currentColor;
  width: 12px;
  height: 12px;
  transition: transform 0.15s ease;
}

.product.form-style .animate-arrow:hover svg {
  transform: translateX(3px);
}

/* Ensure links show up with proper spacing */
.product.form-style .variant-info a.animate-arrow {
  display: inline-flex;
  margin-top: 15px;
}

/* Remove the green left border from previous design */
.product.form-style .variant-info-container {
  border-left: 1px solid #e0e0e0; /* Match all borders */
}

/* Add some subtle shadow like other containers */
.product.form-style .variant-info-container {
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

/* Match the size title container styling more closely */
@media screen and (max-width: 749px) {
  .product.form-style .variant-info-container {
    padding: 12px;
  }
  
  .product.form-style .variant-info h4 {
    font-size: 15px;
  }
  
  .product.form-style .variant-info p,
  .product.form-style .variant-info li {
    font-size: 13px;
  }
}
/* Updated variant info container styling to match size title container */
.product.form-style .variant-info-container {
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: 15px;
  margin-top: 10px;
  margin-bottom: 20px;
  border: 1px solid #e0e0e0;
  color: #333333; /* Ensuring text is black/dark */
}

.product.form-style .variant-info h4 {
  font-size: 16px;
  font-weight: 600;
  margin-top: 0;
  margin-bottom: 10px;
  color: #454F2D; /* Match heading to primary color like other headings */
}

.product.form-style .variant-info p,
.product.form-style .variant-info li {
  color: #333333; /* Ensuring text is black/dark */
  font-size: 14px;
  line-height: 1.5;
}

.product.form-style .variant-info ul {
  padding-left: 20px;
  margin-bottom: 10px;
}

.product.form-style .variant-info ul li {
  margin-bottom: 5px;
}

/* Step headings with black text */
.product.form-style .step-heading {
  margin-top: 25px;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: 600;
  color: #000000; /* Making step heading text black */
}

.product.form-style .step-heading span:not(.step-number) {
  color: #000000; /* Ensuring all text in step heading is black */
}

/* Animated arrow link style - Updated to match other links in form */
.product.form-style .animate-arrow {
  display: inline-flex;
  align-items: center;
  color: #454F2D;
  font-weight: 500;
  text-decoration: none;
  transition: transform 0.15s ease;
  margin-top: 10px;
}

.product.form-style .animate-arrow:hover {
  transform: translateX(3px);
}

.product.form-style .animate-arrow svg {
  position: relative;
  top: -1px;
  margin-left: 5px;
  fill: currentColor;
  width: 12px;
  height: 12px;
  transition: transform 0.15s ease;
}

.product.form-style .animate-arrow:hover svg {
  transform: translateX(3px);
}

/* Ensure links show up with proper spacing */
.product.form-style .variant-info a.animate-arrow {
  display: inline-flex;
  margin-top: 15px;
}

/* Remove the green left border from previous design */
.product.form-style .variant-info-container {
  border-left: 1px solid #e0e0e0; /* Match all borders */
}

/* Add some subtle shadow like other containers */
.product.form-style .variant-info-container {
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

/* Match the size title container styling more closely */
@media screen and (max-width: 749px) {
  .product.form-style .variant-info-container {
    padding: 12px;
  }
  
  .product.form-style .variant-info h4 {
    font-size: 15px;
  }
  
  .product.form-style .variant-info p,
  .product.form-style .variant-info li {
    font-size: 13px;
  }
}
/* Hide the option name/label in the variant picker */
.product.form-style .product-form__input > legend,
.product.form-style .product-form__input .form__label {
  display: none !important;
}

/* Alternatively, if you need more specific targeting */
.product.form-style .product-form__input[data-option-name="Package"] > legend,
.product.form-style .product-form__input[data-option-name="Package"] .form__label {
  display: none !important;
}
/* Styling for parsed product title information */
.product.form-style .product-info-parsed {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.product.form-style .apartment-size {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
}

.product.form-style .estimated-time {
  font-size: 14px;
  color: #666666;
}

/* Make it responsive */
@media screen and (max-width: 749px) {
  .product.form-style .apartment-size {
    font-size: 15px;
  }
  
  .product.form-style .estimated-time {
    font-size: 13px;
  }
/* Force line break at specific text */
.product-info-multiline {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  display: block;
}

.product-info-multiline::after {
  content: "";
  white-space: pre-wrap;
}

/* This will insert a line break before "Estimated Time:" */
.product-info-multiline {
  white-space: normal;
}

.product-info-multiline:not(:empty) {
  display: inline-block;
}

.product-info-multiline:not(:empty)::before {
  content: attr(data-content);
}

.product-info-multiline {
  position: relative;
}

.product-info-multiline span {
  position: relative;
}

/* Use JavaScript to actually implement the line break */
  /* Styling for parsed product title information */
.product.form-style .product-info-parsed {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 5px;
}

.product.form-style .apartment-size {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
}

.product.form-style .estimated-time {
  font-size: 14px;
  color: #000000;
}

/* Add the stopwatch icon to time estimate */
.product.form-style .estimated-time::before {
  content: "⏱ ";
  margin-right: 3px;
}

/* Make it responsive */
@media screen and (max-width: 749px) {
  .product.form-style .apartment-size {
    font-size: 15px;
  }
  
  .product.form-style .estimated-time {
    font-size: 13px;
  }
}

/* Hide the "View full details" link at the bottom */
.product.form-style .product__view-details {
  display: none;
}

/* Hide the option name/label in the variant picker */
.product.form-style .product-form__input > legend,
.product.form-style .product-form__input .form__label {
  display: none !important;
}

/* Step headings with black text */
.product.form-style .step-heading {
  margin-top: 25px;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: 600;
  color: #000000; /* Making step heading text black */
}

.product.form-style .step-heading span:not(.step-number) {
  color: #000000; /* Ensuring all text in step heading is black */
}
  /* Styling for parsed product title information */
.product.form-style .product-info-parsed {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 10px;
}

.product.form-style .apartment-size {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
}

.product.form-style .estimated-time {
  font-size: 14px;
  color: #000000;
}

/* Add the stopwatch icon to time estimate */
.product.form-style .estimated-time::before {
  content: "⏱ ";
  margin-right: 3px;
}

/* Make it responsive */
@media screen and (max-width: 749px) {
  .product.form-style .apartment-size {
    font-size: 15px;
  }
  
  .product.form-style .estimated-time {
    font-size: 13px;
  }
}

/* Hide the option name/label in the variant picker */
.product.form-style .product-form__input > legend,
.product.form-style .product-form__input .form__label {
  display: none !important;
}
