/* Shared visual treatment for the contact, booking, FAQ, gift and policy routes. */
.vibelle-consistency-hero.page-header {
  min-height: 318px;
  padding: 78px 0 50px;
  overflow: hidden;
  isolation: isolate;
  border-radius: 0 0 28px 28px;
  background-color: #123d3e;
  background-size: cover;
  background-position: center 44%;
}
.vibelle-consistency-hero.page-header::before {
  z-index: 0;
  background: linear-gradient(90deg, rgba(4, 42, 45, .94), rgba(4, 42, 45, .64) 52%, rgba(4, 42, 45, .25)), linear-gradient(0deg, rgba(4, 42, 45, .35), transparent 65%);
}
.vibelle-hero-contact { background-image: url('/assets/vibelle/web/hand-reflexology-session-koffi-amani.webp'); background-position: center 42%; }
.vibelle-hero-book-appointment { background-image: url('/assets/vibelle/web/hand-reflexology-session-koffi-amani.webp'); background-position: center 47%; }
.vibelle-hero-faqs { background-image: url('/assets/vibelle/web/hand-reflexology-session-koffi-amani.webp'); background-position: center 50%; }
.vibelle-hero-gift-vouchers { background-image: url('/assets/vibelle/web/foot-reflexology-treatment-detail.webp'); background-position: center 48%; }
.vibelle-hero-privacy-policy,
.vibelle-hero-terms { background-image: url('/assets/vibelle/web/hand-reflexology-session-koffi-amani.webp'); background-position: center 45%; }
.vibelle-hero-404 { background-image: url('/assets/vibelle/web/hand-reflexology-session-koffi-amani.webp'); background-position: center 46%; }
.vibelle-consistency-hero .page-header-box,
.vibelle-consistency-hero .page-header-content { position: relative; z-index: 1; }
.vibelle-consistency-hero .page-header-content { max-width: 900px; }
.vibelle-consistency-hero .page-header-content h1 {
  max-width: 820px;
  margin: 0 0 20px;
  color: #fff;
  font-size: clamp(26px, 3.25vw, 41.6px);
  font-weight: 600;
  line-height: 1.08;
  text-transform: none;
}
.vibelle-consistency-hero .page-header-content h1 span { color: inherit; background: none; -webkit-text-fill-color: #fff; }
.vibelle-consistency-hero .breadcrumb { margin: 0; padding: 0; background: transparent; }
.vibelle-consistency-hero .breadcrumb-item,
.vibelle-consistency-hero .breadcrumb-item a,
.vibelle-consistency-hero .breadcrumb-item.active { color: rgba(255,255,255,.9); font-size: 14px; text-transform: none; }
.vibelle-consistency-hero .breadcrumb-item.active { color: var(--accent-color); }
.vibelle-consistency-hero .breadcrumb-item + .breadcrumb-item::before { color: #fff; content: "/"; }

/* Intro, forms and contact details */
.feedback-page.vibelle-contact,
.feedback-page.vibelle-book,
.feedback-page.vibelle-faq,
.feedback-page.vibelle-gifts,
.feedback-page.vibelle-policy { padding-bottom: 52px; background: #f6f7f4; }
.feedback-page > .vibelle-feedback-section { padding: 50px 0; background: transparent; }
.feedback-page > .vibelle-feedback-section:nth-child(even) { background: transparent; }
.feedback-page > .vibelle-feedback-section:first-of-type .container { max-width: 1080px; }
.feedback-page > .vibelle-feedback-section:first-of-type h2 { margin-bottom: 12px; font-size: clamp(17.55px, 2.08vw, 25.35px); line-height: 1.2; }
.feedback-page > .vibelle-feedback-section:first-of-type p { max-width: 760px; margin-bottom: 0; color: #536b6b; font-size: 18px; line-height: 1.75; }
.vibelle-contact .vibelle-contact-info {
  height: 100%;
  align-self: stretch;
  padding: 32px;
  border: 1px solid #e1e9e4;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(16, 54, 53, .07);
}
.vibelle-contact .vibelle-contact-info p { margin: 0; padding: 16px 0; border-bottom: 1px solid #e8eeea; color: #526969; line-height: 1.65; overflow-wrap: anywhere; }
.vibelle-contact .vibelle-contact-info p:last-child { border-bottom: 0; }
.vibelle-contact .vibelle-contact-info strong { display: block; margin-bottom: 4px; color: #174b49; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.vibelle-contact .vibelle-contact-info a { color: #174b49; font-weight: 700; }
.feedback-page .vibelle-contact-form {
  height: 100%;
  padding: clamp(24px, 3vw, 42px);
  border: 1px solid #e1e9e4;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(16, 54, 53, .07);
}
.vibelle-contact-form h3 { margin-bottom: 24px; color: #174b49; font-size: 27px; text-transform: none; }
.feedback-page .form-group { margin-bottom: 20px !important; }
.feedback-page .form-group label { color: #174b49; font-size: 15px; font-weight: 650; }
.feedback-page .form-group .form-control { min-height: 52px; border: 1px solid #d7e1dc; border-radius: 12px; background-color: #fbfcfa; box-shadow: none; }
.feedback-page .form-group textarea.form-control { min-height: 145px; padding-top: 14px; }
.feedback-page .form-group .form-control:focus { border-color: #4d9283; box-shadow: 0 0 0 3px rgba(77, 146, 131, .14); }
.feedback-page .vibelle-contact-form .btn-default { margin-top: 4px; }
.vibelle-book .vibelle-contact-form { max-width: 980px; margin-inline: auto; }
.vibelle-consent-check { display: flex; align-items: flex-start; gap: 10px; padding: 14px 16px; border-radius: 12px; background: #f1f6f2; }
.vibelle-consent-check .form-check-input { flex: 0 0 auto; margin-top: .28em; }
.feedback-page [data-form-status] { min-height: 1.5em; margin-top: 12px; color: #3f6660; }

/* FAQs */
.vibelle-faq .vibelle-faq-list { max-width: 920px; margin: 0 auto 30px; }
.vibelle-faq .vibelle-faq-item { margin: 0 0 14px; padding: 24px 28px; border: 1px solid #e1e9e4; border-radius: 18px; background: #fff; box-shadow: 0 9px 28px rgba(16, 54, 53, .045); }
.vibelle-faq .vibelle-faq-item h3 { margin: 0 0 10px; color: #174b49; font-size: 21px; line-height: 1.35; text-transform: none; }
.vibelle-faq .vibelle-faq-item p { max-width: 78ch; margin: 0; color: #566b69; line-height: 1.75; }
.vibelle-faq .vibelle-faq-item .btn-default { margin-top: 18px; }
.vibelle-faq .vibelle-faq-item summary { position: relative; padding-right: 34px; cursor: pointer; list-style: none; }
.vibelle-faq .vibelle-faq-item summary::-webkit-details-marker { display: none; }
.vibelle-faq .vibelle-faq-item summary::after { content: '+'; position: absolute; top: -2px; right: 0; color: var(--dark-color); font-size: 27px; font-weight: 400; }
.vibelle-faq .vibelle-faq-item[open] summary::after { content: '−'; }
.vibelle-faq .vibelle-faq-item summary h3 { margin-bottom: 0; }
.vibelle-faq .vibelle-faq-item .vibelle-faq-answer { padding-top: 16px; }
.vibelle-faq .vibelle-faq-item summary:focus-visible { outline: 2px solid var(--dark-color); outline-offset: 6px; border-radius: 4px; }
.vibelle-faq > .vibelle-feedback-section > .container > .btn-default { margin-top: 4px; }

/* Gift voucher pricing and steps */
.vibelle-gifts .vibelle-feedback-grid { margin-top: 18px; }
.vibelle-gifts .vibelle-feedback-card {
  position: relative;
  display: flex;
  min-height: 190px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 30px 22px;
  border: 1px solid #dce8e1;
  border-radius: 22px;
  background: linear-gradient(145deg, #fff 8%, #f0f6f1 100%);
  box-shadow: 0 14px 34px rgba(16, 54, 53, .08);
  text-align: center;
}
.vibelle-gifts .vibelle-feedback-card::before { position: absolute; top: -42px; right: -36px; width: 130px; height: 130px; border: 1px solid rgba(43, 111, 97, .14); border-radius: 50%; content: ""; box-shadow: 0 0 0 14px rgba(43, 111, 97, .035), 0 0 0 28px rgba(43, 111, 97, .025); }
.vibelle-gifts .vibelle-feedback-card h3 { position: relative; z-index: 1; display: grid; gap: 8px; margin: 0; color: #174b49; font-size: 18px; font-weight: 600; line-height: 1.45; text-transform: none; }
.vibelle-voucher-name { display: block; font-size: 21px; font-weight: 700; }
.vibelle-voucher-detail { display: block; color: #607674; font-size: 15px; font-weight: 500; }
.vibelle-voucher-amount { display: block; margin-top: 4px; color: #174b49; font-size: 31px; font-weight: 700; }
.vibelle-gifts .vibelle-feedback-card.vibelle-price-card-featured { background: var(--primary-color) url('../images/service-bg-circle.svg') no-repeat right bottom; }
.vibelle-gifts .vibelle-price-card-featured :is(h3, .vibelle-voucher-name, .vibelle-voucher-detail) { color: #d5e5e1; }
.vibelle-gifts .vibelle-price-card-featured .vibelle-voucher-amount { color: var(--accent-color); }
.vibelle-gifts > .vibelle-feedback-section + .vibelle-feedback-section > .container > h2 { margin-top: 40px; }
.vibelle-gifts > .vibelle-feedback-section + .vibelle-feedback-section > .container > p { max-width: 82ch; margin-bottom: 12px; color: #536b6b; line-height: 1.75; }
.vibelle-gifts > .vibelle-feedback-section + .vibelle-feedback-section > .container > p:last-of-type { margin-top: 24px; padding: 22px 24px; border-left: 3px solid var(--dark-color); border-radius: 0 14px 14px 0; background: #fff; }
.vibelle-gifts > .vibelle-feedback-section + .vibelle-feedback-section .btn-default { margin-top: 14px; }

/* Calm reading layouts for policy pages */
.vibelle-policy > .vibelle-feedback-section { padding: 24px 0; }
.vibelle-policy > .vibelle-feedback-section .container { max-width: 820px; }
.feedback-page.vibelle-policy > .vibelle-feedback-section:first-of-type .container { max-width: 820px; }
.vibelle-policy > .vibelle-feedback-section:first-of-type { padding-top: 52px; }
.vibelle-policy > .vibelle-feedback-section h2 { margin: 0 0 12px; color: #174b49; font-size: 24px; line-height: 1.35; }
.vibelle-policy > .vibelle-feedback-section p { margin-bottom: 0; color: #536967; font-size: 16px; line-height: 1.8; }
.vibelle-policy > .vibelle-feedback-section:not(:first-of-type) .container { padding-top: 24px; border-top: 1px solid #dce5df; }
.vibelle-policy .vibelle-policy-section { padding: 22px 0; border-bottom: 1px solid #dce5df; }
.vibelle-policy .vibelle-policy-section:first-of-type { padding-top: 32px; }
.vibelle-policy .vibelle-policy-section:last-of-type { margin-bottom: 18px; }
.vibelle-policy .vibelle-policy-section h2 { margin-bottom: 10px; }
.vibelle-policy .vibelle-policy-section p { max-width: 76ch; }
.vibelle-policy > .vibelle-feedback-section:last-of-type p { color: #7a8984; font-size: 14px; }

/* 404 */
.vibelle-error-page { padding-bottom: 54px; background: #f6f7f4; }
.vibelle-error-page .error-page { padding: 62px 0 20px; }
.vibelle-error-page .error-page-image { display: none; }
.vibelle-error-page .error-page-content { max-width: 720px; margin: 0 auto; padding: 54px 28px; border: 1px solid #e1e9e4; border-radius: 24px; background: #fff; box-shadow: 0 16px 40px rgba(16, 54, 53, .07); text-align: center; }
.vibelle-error-page .error-page-content h2 { color: #174b49; }
.vibelle-error-page .error-page-content-body p { max-width: 56ch; margin: 0 auto 24px; color: #566b69; font-size: 18px; line-height: 1.7; }

.feedback-page.vibelle-contact > .vibelle-feedback-section:first-of-type,
.feedback-page.vibelle-book > .vibelle-feedback-section:first-of-type,
.feedback-page.vibelle-gifts > .vibelle-feedback-section:first-of-type { padding-bottom: 16px; }
.feedback-page.vibelle-contact > .vibelle-feedback-section:nth-of-type(2),
.feedback-page.vibelle-book > .vibelle-feedback-section:nth-of-type(2),
.feedback-page.vibelle-gifts > .vibelle-feedback-section:nth-of-type(2) { padding-top: 24px; }
.feedback-page.vibelle-contact > .vibelle-feedback-section .container,
.feedback-page.vibelle-gifts > .vibelle-feedback-section .container { max-width: 1240px; }
.feedback-page.vibelle-book > .vibelle-feedback-section:first-of-type .container { max-width: 1010px; }
.feedback-page.vibelle-contact > .vibelle-feedback-section:first-of-type h2,
.feedback-page.vibelle-book > .vibelle-feedback-section:first-of-type h2,
.feedback-page.vibelle-gifts > .vibelle-feedback-section h2 { font-weight: 400; }
@media (max-width: 991px) {
  .vibelle-gifts .vibelle-feedback-grid { max-width: 720px; margin-inline: auto; }
}

@media (max-width: 767px) {
  .vibelle-gifts .vibelle-feedback-grid { margin-inline: -15px; }
  .vibelle-consistency-hero.page-header { min-height: 250px; padding: 60px 0 36px; border-radius: 0 0 20px 20px; background-position: 58% center; }
  .vibelle-consistency-hero .page-header-box { padding-inline: 18px; }
  .vibelle-consistency-hero .page-header-content h1 { margin-bottom: 14px; font-size: clamp(22.1px, 5.85vw, 29.9px); }
  .feedback-page > .vibelle-feedback-section { padding: 36px 0; }
  .feedback-page > .vibelle-feedback-section:first-of-type p { font-size: 16px; }
  .vibelle-contact .vibelle-contact-info { margin-bottom: 22px; padding: 22px; border-radius: 18px; }
  .feedback-page .vibelle-contact-form { padding: 24px 18px; border-radius: 18px; }
  .vibelle-faq .vibelle-faq-item { padding: 20px; }
  .vibelle-gifts .vibelle-feedback-card { min-height: 160px; }
  .vibelle-policy > .vibelle-feedback-section { padding: 18px 0; }
  .vibelle-error-page .error-page { padding: 36px 0 8px; }
  .vibelle-error-page .error-page-content { padding: 40px 22px; }
}


/* Voucher section titles follow the same 35% reduction at every width. */
.vibelle-gifts > .vibelle-feedback-section + .vibelle-feedback-section > .container > h2 { font-size: calc(.86125rem + .585vw); }
@media (min-width: 1200px) {
  .vibelle-gifts > .vibelle-feedback-section + .vibelle-feedback-section > .container > h2 { font-size: 1.3rem; }
}
