@charset "UTF-8";
/* xs - SMARTPHONE PORTRAIT STYLES */
.pricing-table {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-weight: var(--e-global-typography-text-font-weight);
  line-height: var(--e-global-typography-text-line-height);
  letter-spacing: var(--e-global-typography-text-letter-spacing);
  color: var(--e-global-color-text);
}
.pricing-table h3 {
  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  font-weight: var(--e-global-typography-primary-font-weight);
  text-transform: var(--e-global-typography-primary-text-transform);
  line-height: var(--e-global-typography-primary-line-height);
  letter-spacing: var(--e-global-typography-primary-letter-spacing);
  color: var(--e-global-color-text);
  margin-bottom: 0;
}
.package-details ul {
  padding-left: 0;
  margin-top: 10px;
  color: #555;
  margin-left: 1em;
}
.pricing-package {
  display: block;
  margin-bottom: 20px;
}
.package-details {
  margin-bottom: 15px;
}
.package-duration, .package-price {
  display: inline-block;
}
.package-price {
  float: right;
  font-weight: bold;
}
.add-on {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
}
.pricing-sub-list {
  padding-bottom: 20px;
}
.add-on-price {
  font-weight: bold;
}
/* ---------- MOBILE add-on (<769px): flex row, wraps cleanly ---------- */
.add-on-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 12px;
  margin-top: 12px;
  clear: both;
  /* drop below the floated package price above */
}
/* text takes the whole first line */
.add-on-details {
  flex: 1 1 100%;
  margin-bottom: 6px;
}
/* duration + price wrap to line 2 and span the full width:
   duration pinned left, price pinned right — same as the main package row */
.add-on-duration {
  flex: 1 1 auto;
}
.add-on-price {
  margin-left: auto;
  font-weight: bold;
}
.sub-list-title {
  margin-bottom: 10px;
  font-weight: var(--e-global-typography-primary-font-weight);
}
.sub-list-items {
  list-style: none;
  padding-left: 0;
}
.sub-list-items li {
  display: flex;
  justify-content: space-between;
  padding-bottom: 5px;
}
.sub-list-items li span:last-child {
  flex-shrink: 0;
  font-weight: bold;
}
.pricing-package-multi {
  margin-bottom: 20px;
}
/* ---------- inline title + description (short packages, e.g. Pediküre) ---------- */
.pricing-package.inline-details .package-details h3 {
  display: inline;
  margin-right: 0.35em;
}
.pricing-package.inline-details .package-details p {
  display: inline;
}
/* mobile default: details box inline so the floated price tucks onto the
   title line instead of dropping below it (reset to grid item at >=769px) */
.pricing-package.inline-details .package-details {
  display: inline;
}
/* keep a short add-on on one line on mobile (e.g. "+ Shellac   75,- €") */
.add-on-row.addon-compact .add-on-details {
  flex: 0 1 auto;
}
/* indent the add-on text so "+ Shellac" lines up under the description
   (~the rendered width of the "Pediküre" title); reset at >=769px */
.pricing-package.inline-details .add-on-row.addon-compact .add-on-details {
  padding-left: 4.9em;
}
/* md - TABLET PORTRAIT STYLES */
@media (min-width: 769px) {
  .pricing-table {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 30px 20px;
    align-items: start;
    padding-bottom: 30px;
  }
  .pricing-package {
    display: contents;
    /* Core concept for this layout */
  }
  /* the mobile flex wrapper dissolves on desktop so its three children
	   become direct grid items again, aligned to the main columns */
  .add-on-row {
    display: contents;
  }
  .pricing-package .package-details, .pricing-package .package-duration, .pricing-package .package-price {
    padding-bottom: 30px;
  }
  .package-details {
    margin-bottom: 0;
  }
  .package-duration, .package-price {
    display: block;
    text-align: right;
  }
  .package-price {
    float: none;
  }
  /* ---------- ADD-ON (desktop): direct grid items, same 3 columns ---------- */
  /* package WITH an add-on: kill description bottom padding so the add-on
	   hugs its package (only the 30px grid row-gap remains) */
  .pricing-package.has-addon .package-details {
    padding-bottom: 0;
  }
  /* reset the mobile inline-details tweaks: details is a grid item here,
	   and the add-on sits in column 1 with no indent */
  .pricing-package.inline-details .package-details {
    display: block;
  }
  .pricing-package.inline-details .add-on-row.addon-compact .add-on-details {
    padding-left: 0;
  }
  .add-on-details {
    grid-column: 1;
    flex: none;
    /* reset mobile flex basis */
    margin-bottom: 0;
    /* reset mobile spacing */
    padding-bottom: 30px;
    /* separation from the NEXT package */
  }
  .add-on-duration {
    grid-column: 2;
    flex: none;
    /* reset mobile flex */
    margin-left: 0;
    text-align: right;
    padding-bottom: 30px;
  }
  .add-on-price {
    grid-column: 3;
    margin-left: 0;
    /* reset mobile auto-margin */
    text-align: right;
    padding-bottom: 30px;
  }
  /* ---------- unchanged below ---------- */
  .pricing-sub-list {
    grid-column: 1 / -1;
    padding-bottom: 30px;
  }
  .sub-list-title {
    grid-column: 1 / -1;
  }
  .sub-list-items {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 8px 20px;
  }
  .sub-list-items li {
    display: contents;
  }
  .sub-list-items li span:first-child {
    grid-column: 1;
  }
  .sub-list-items li span:last-child {
    grid-column: 3;
    text-align: right;
  }
  .pricing-package-multi {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 0 20px;
    padding-bottom: 30px;
  }
  .pricing-package-multi .package-details {
    grid-column: 1;
  }
  .pricing-package-multi .package-options {
    grid-column: 2 / 4;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .pricing-package-multi .package-options .option-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 20px;
  }
}
/*# sourceMappingURL=data:application/json,%7B%22version%22%3A3%2C%22sourceRoot%22%3A%22%2F%22%2C%22sources%22%3A%5B%22(stdin)%22%2C%22wp-content%2Fcustom_codes%2F479-scss-mobile-p.scss%22%2C%22wp-content%2Fcustom_codes%2F479-scss-tablet-p.scss%22%5D%2C%22names%22%3A%5B%5D%2C%22mappings%22%3A%22%3BAAAA%3BACAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAACC%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAiBD%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAOA%3BAAAA%3BAAAA%3BAAAA%3BAAKA%3BAAAA%3BAAAA%3BAAIA%3BAAAA%3BAAAA%3BAAKA%3BAAAA%3BAAAA%3BAAAA%3BAAKA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAOA%3BAAAA%3BAAAA%3BAAIA%3BAAAA%3BAAAA%3BADvDA%3BAC4DA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAD5DA%3BACsEA%3BAAAA%3BAAAA%3BAAAA%3BADtEA%3BAAAA%3BAC6EA%3BAAAA%3BAAAA%3BAAIA%3BAAAA%3BAAAA%3BAAAA%3BAAKA%3BAAAA%3BAAAA%3BAAAA%3BAAKA%3BAAAA%3BAAAA%3BAAAA%3BAAKA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAKC%3BAAAA%3BAAAA%3BAAAA%3BAAMD%3BAAAA%3BAAAA%3BAD3GA%3BACgHA%3BAAAA%3BAAAA%3BAAAA%3BAAKA%3BAAAA%3BAAAA%3BADrHA%3BAAAA%3BAC2HA%3BAAAA%3BAAAA%3BAD3HA%3BACgIA%3BAAAA%3BAAAA%3BADhIA%3BAAAA%3BACsIA%3BAAAA%3BAAAA%3BADtIA%3BAAIA%3BAEJA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAQC%3BAAAA%3BAAAA%3BAAAA%3BAFJD%3BAAAA%3BAEUC%3BAAAA%3BAAAA%3BAAIA%3BAAAA%3BAAAA%3BAAMA%3BAAAA%3BAAAA%3BAAIA%3BAAAA%3BAAAA%3BAAAA%3BAAMA%3BAAAA%3BAAAA%3BAF9BD%3BAAAA%3BAAAA%3BAEsCC%3BAAAA%3BAAAA%3BAFtCD%3BAAAA%3BAE4CC%3BAAAA%3BAAAA%3BAAIA%3BAAAA%3BAAAA%3BAAIA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAOA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAQA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAFnED%3BAE4EC%3BAAAA%3BAAAA%3BAAAA%3BAAKA%3BAAAA%3BAAAA%3BAAIA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAMA%3BAAAA%3BAAAA%3BAAIA%3BAAAA%3BAAAA%3BAAIA%3BAAAA%3BAAAA%3BAAAA%3BAAKA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAOC%3BAAAA%3BAAAA%3BAAIA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAMC%3BAAAA%3BAAAA%3BAAAA%3BAAAA%3BAAAA%22%7D */