/* Body Electric: modern, more elegant look (Nov 5 2026), layered over the copied Divi site.
   Previous look: git tag bodyelectric-v1-original-look, live at https://original.bodyelectric.pages.dev
   To revert: drop the be-modern lines from finish.py (or check out the tag) and rebuild. */
:root {
  --cream: #faf6ef; --sand: #f1e9dc; --line: #e4dccd;
  --ink: #2f403d; --muted: #66756f; --teal: #5cd6c5; --deep: #1f8f84;
  --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans: Jost, "Helvetica Neue", Arial, sans-serif;
}

/* 1. Type: an elegant serif for headings, a clean sans for everything else */
html body, html body p, html body li, html body h5, html body h6, html body .et_pb_text_inner,
html body .et_pb_blurb_description, html body .et_pb_toggle_content, html body input, html body textarea,
html body button, html body .be-send, html body .et_pb_button, html body .et-menu a, html body .et_mobile_menu a {
  font-family: var(--sans) !important;
}
html body h1, html body h2, html body h3, html body h4, html body .et_pb_module_header, html body .et_pb_toggle_title,
html body .et_pb_slide_title {
  font-family: var(--serif) !important; font-weight: 500 !important; letter-spacing: .005em; line-height: 1.15 !important;
}
html body #page-container h1 { font-size: clamp(36px, 4.2vw, 56px) !important; }
html body #page-container h2 { font-size: clamp(32px, 3.4vw, 46px) !important; }
html body #page-container h3 { font-size: clamp(28px, 2.8vw, 38px) !important; }
html body #page-container h4 { font-size: clamp(24px, 2.2vw, 30px) !important; }
html body #page-container .et_pb_toggle_title { font-size: clamp(20px, 2vw, 25px) !important; }
html body #page-container h5 { font-size: 16px !important; line-height: 1.75 !important; font-weight: 400 !important; }
html body { color: var(--muted); }
.et_pb_bg_layout_light h1, .et_pb_bg_layout_light h2, .et_pb_bg_layout_light h3, .et_pb_bg_layout_light h4 { color: var(--ink) !important; }
/* Headings sitting on a photo section stay white */
html body #main-content .et_pb_section.et_pb_with_background .et_pb_text h1, html body #main-content .et_pb_section.et_pb_with_background .et_pb_text h2,
html body #main-content .et_pb_section.et_pb_with_background .et_pb_text h3 { color: #fff !important; text-shadow: 0 2px 14px rgba(0, 0, 0, .3); }
html body .et-menu a, html body .et_mobile_menu a { letter-spacing: .14em !important; text-transform: uppercase; font-size: 12.5px !important; font-weight: 500 !important; }

/* 2. Softer palette: warm cream base; teal kept for small accents */
html body, #page-container, #et-main-area, #main-content { background-color: var(--cream) !important; }
#main-content .et_pb_section:not(.et_pb_with_background), .et-l--footer .et_pb_section:not(.et_pb_with_background) { background-color: var(--cream) !important; }
html body #page-container .et_pb_button {
  border: 1px solid var(--deep) !important; border-radius: 999px !important; color: var(--deep) !important; background: transparent !important;
  padding: 12px 30px !important; font-size: 14px !important; letter-spacing: .12em; text-transform: uppercase;
}
html body #page-container .et_pb_bg_layout_dark .et_pb_button { border-color: #fff !important; color: #fff !important; }
html body #page-container .et_pb_button:hover { background: var(--deep) !important; color: #fff !important; }
html body #page-container .et_pb_button::after, html body #page-container .et_pb_button::before { display: none !important; }

/* 3. Arch frames for the photos */
.page-id-19 .et_pb_blurb .et_pb_main_blurb_image, .page-id-19 .et_pb_blurb .et_pb_image_wrap { width: 100%; max-width: none !important; }
.page-id-19 .et_pb_blurb .et_pb_main_blurb_image img, .page-id-48 .et_pb_image_0 img {
  border-radius: 999px 999px 22px 22px !important; aspect-ratio: 4 / 5; object-fit: cover; width: 100%;
  box-shadow: 0 18px 40px rgba(47, 64, 61, .14);
}
.page-id-19 .et_pb_blurb .et_pb_image_wrap, .page-id-48 .et_pb_image_0 .et_pb_image_wrap { border-radius: 999px 999px 22px 22px !important; overflow: hidden; }
.page-id-48 .et_pb_image_0 { max-width: 420px; margin-left: auto; margin-right: auto; }

/* 4. Section titles: plain serif with a small ornament instead of photo strips */
html body #page-container .be-title { background: none !important; border: 0 !important; box-shadow: none !important; padding: 10px 0 0 !important; }
html body #page-container .be-title h1, html body #page-container .be-title h2, html body #page-container .be-title h3 { color: var(--ink) !important; text-shadow: none !important; }
.be-title .et_pb_text_inner::after {
  content: "\2726"; display: block; width: 150px; margin: 12px auto 0; color: var(--teal); font-size: 12px; text-align: center;
  background: linear-gradient(var(--line), var(--line)) left center / 58px 1px no-repeat,
              linear-gradient(var(--line), var(--line)) right center / 58px 1px no-repeat;
}

/* 5. Services as a menu card */
/* The Services photo now starts under the see-through header: give its title room below it. */
.page-id-376 .et_pb_fullwidth_slider_0 .et_pb_slide { padding-top: 40px !important; padding-bottom: 40px !important; }
.page-id-376 .et_pb_fullwidth_slider_0 .et_pb_slide_description { padding-top: 0 !important; padding-bottom: 0 !important; }
.page-id-376 .et_pb_fullwidth_slider_0 .et_pb_slide_content p { font-size: 16px !important; line-height: 1.7 !important; }
/* Divi's own sticky tab bar fought the new header; be-modern.js replaces it with .be-tabs under the Services photo. */
.page-id-376 .et_pb_fullwidth_menu_0, .page-id-376 .et_pb_sticky_placeholder { display: none !important; }
.be-tabs { position: sticky; top: var(--be-head, 70px); z-index: 50; background: rgba(250, 246, 239, .92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line); padding: 12px 16px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.be-tabs a { border: 1px solid var(--line); border-radius: 999px; padding: 8px 18px; color: var(--deep) !important; background: #fff; font: 500 12.5px var(--sans);
  letter-spacing: .12em; text-transform: uppercase; text-decoration: none; transition: .2s; }
.be-tabs a:hover { background: var(--teal); border-color: var(--teal); color: #08332e !important; }
@media (max-width: 767px) { .be-tabs { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; -webkit-overflow-scrolling: touch; } .be-tabs a { white-space: nowrap; } }
.page-id-376 .et_pb_fullwidth_menu_0, .page-id-376 .et_pb_fullwidth_menu_0 .et_pb_menu__wrap, .page-id-376 .et_pb_fullwidth_menu_0 .et_pb_row { background: var(--cream) !important; }
.page-id-376 .et_pb_fullwidth_menu_0 .et-menu > li { padding: 6px 5px !important; }
.page-id-376 .et_pb_fullwidth_menu_0 .et-menu > li > a {
  border: 1px solid var(--line); border-radius: 999px; padding: 9px 18px !important; color: var(--deep) !important; background: #fff; transition: .2s;
}
.page-id-376 .et_pb_fullwidth_menu_0 .et-menu > li > a:hover { border-color: var(--teal); background: var(--teal); color: #08332e !important; opacity: 1; }
.be-cards { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 26px; align-items: stretch; }
.be-cards > :not(.be-card) { grid-column: 1 / -1; }
.be-cards > .et_pb_divider { display: none !important; }
.page-id-376 #main-content .et_pb_divider { display: none !important; }
.be-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 26px; width: min(1080px, 100% - 32px); margin: 10px auto 40px; }
html body #page-container .be-card {
  margin: 0 !important; background: #fff !important; border: 1px solid var(--line); border-radius: 22px; padding: 30px 30px 26px !important;
  box-shadow: 0 14px 34px rgba(47, 64, 61, .07); display: flex; flex-direction: column; text-align: left !important; scroll-margin-top: 110px;
}
.be-card .et_pb_text_inner { display: flex; flex-direction: column; height: 100%; }
html body #page-container #main-content .be-card h2, html body #page-container #main-content .be-card h3 { font-size: clamp(26px, 2.4vw, 32px) !important; color: var(--ink) !important; text-shadow: none !important; margin-bottom: 10px; text-align: left; }
html body #page-container #main-content .be-card h5, html body #page-container #main-content .be-card h5 strong { font-size: 15px !important; color: var(--muted) !important; text-align: left; }
.be-prices { display: flex; flex-wrap: wrap; gap: 8px; margin: auto 0 0; padding-top: 16px; align-items: center; }
.be-prices em { width: 100%; font-style: normal; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.be-prices span { border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px; font-size: 14px; color: var(--ink); background: var(--cream); }
.be-prices span b { font-weight: 500; color: var(--deep); margin-right: 6px; }
.be-book { align-self: flex-start; margin-top: 16px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--deep) !important;
  border-bottom: 1px solid var(--teal); padding-bottom: 2px; text-decoration: none; }
.be-book:hover { color: var(--ink) !important; border-color: var(--ink); }
.be-card .et_pb_text_inner { height: auto; }
/* The Somatic cards had a "read more" fold that cut lines in half: show the whole text instead. */
html body #page-container .be-card.pa-toggle-text .et_pb_text_inner { max-height: none !important; overflow: visible !important; }
html body #page-container .be-card.pa-toggle-text .et_pb_text_inner::after { display: none !important; }
html body #page-container .be-card .pa-text-expand-button, html body #page-container .be-card .pa-text-collapse-button,
html body #page-container .be-card .pa-text-toggle-icon { display: none !important; }
.be-card .be-prices { margin-top: 18px; }
html body #page-container .be-card .pa-text-expand-button, html body #page-container .be-card .pa-text-collapse-button {
  color: var(--deep) !important; font: 500 12px var(--sans) !important; letter-spacing: .14em; text-transform: uppercase; text-align: left; display: block; margin-top: 10px; }

/* 6. FAQ: a light list with thin lines and + / - */
html body #page-container .et_pb_accordion .et_pb_toggle {
  background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; margin: 0 !important; padding: 22px 4px !important;
}
html body #page-container .et_pb_accordion .et_pb_toggle_title { color: var(--ink) !important; padding-right: 44px !important; }
html body #page-container .et_pb_accordion .et_pb_toggle_title::before {
  display: block !important; content: "+" !important; font-family: var(--sans) !important; font-weight: 300; font-size: 28px !important;
  color: var(--deep) !important; right: 4px !important; top: 50% !important; margin-top: -.55em !important; line-height: 1;
}
html body #page-container .et_pb_accordion .et_pb_toggle_open .et_pb_toggle_title::before { content: "\2013" !important; }
html body #page-container .et_pb_accordion .et_pb_toggle_content { color: var(--muted) !important; font-size: 16px !important; line-height: 1.75; padding-top: 12px !important; max-width: 760px; }

/* 7. Header that follows you down, frosted once you scroll */
html body .et-l--header .et_pb_section_1_tb_header {
  position: fixed !important; top: 0; left: 0; right: 0; z-index: 999; transition: background .35s, box-shadow .35s, padding .35s;
  background-color: transparent !important;
}
html body.be-scrolled .et-l--header .et_pb_section_1_tb_header {
  background: rgba(30, 48, 45, .82) !important; -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 8px 26px rgba(0, 0, 0, .14); padding-top: 4px !important; padding-bottom: 4px !important;
}
html body.be-scrolled .et-l--header .et_pb_section_1_tb_header .et_pb_row { padding-top: 6px !important; padding-bottom: 6px !important; }
html body .et-l--header .et_pb_section_1_tb_header .et_pb_menu__logo img { transition: max-height .35s; }
html body .et-l--header .et_pb_section_1_tb_header .et-menu > li > a { color: #fff !important; text-shadow: 0 1px 10px rgba(0, 0, 0, .35); }
html body .et-l--header .et_pb_section_1_tb_header .et-menu > li.current-menu-item > a { color: var(--teal) !important; }
html body.be-scrolled .et-l--header .et_pb_section_1_tb_header .et_pb_menu__logo img { max-height: 46px !important; width: auto !important; }
html body.be-scrolled .et-l--header .et_pb_section_1_tb_header .et_pb_menu { padding-top: 2px !important; padding-bottom: 2px !important; }
html body.be-scrolled .et-l--header .et_pb_section_1_tb_header .et-menu > li > a { padding-top: 14px !important; padding-bottom: 14px !important; }
html body .et-l--header .et_pb_section_1_tb_header .et-menu > li > a, html body .et-l--header .et_pb_section_1_tb_header .et_pb_menu { transition: padding .35s; }

/* On phones Divi stacks the logo over the menu button, so a following header would cover a quarter of the
   screen: there it scrolls away as before, and the corner button (8) does the job. */
@media (max-width: 980px) {
  html body .et-l--header .et_pb_section_1_tb_header, html body.be-scrolled .et-l--header .et_pb_section_1_tb_header {
    position: absolute !important; background: transparent !important; box-shadow: none !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
  html body:not(.home) .et-l--header .et_pb_section_1_tb_header, html body.be-scrolled:not(.home) .et-l--header .et_pb_section_1_tb_header {
    position: relative !important; background: var(--cream) !important; }
  html body:not(.home) #et-main-area { padding-top: 0 !important; }
  .be-tabs { top: 0 !important; }
}

/* 8. Book button that stays in the corner on phones */
.be-fab { display: none; }
@media (max-width: 767px) {
  .be-fab {
    display: inline-flex; position: fixed; right: 16px; bottom: 18px; z-index: 1000; padding: 14px 22px; border-radius: 999px;
    background: linear-gradient(135deg, var(--teal), var(--deep)); color: #fff !important; font: 500 14px var(--sans); letter-spacing: .1em;
    text-transform: uppercase; text-decoration: none; box-shadow: 0 12px 28px rgba(31, 143, 132, .38);
    opacity: 0; transform: translateY(16px); pointer-events: none; transition: opacity .3s, transform .3s;
  }
  body.be-scrolled .be-fab { opacity: 1; transform: none; pointer-events: auto; }
}

/* 9. A fuller footer */
.be-foot { background: var(--sand); color: var(--ink); padding: 56px 20px 46px; text-align: center; font-family: var(--sans); }
.be-foot .be-foot-in { max-width: 980px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; align-items: start; }
.be-foot h4 { font-family: var(--serif) !important; font-size: 26px !important; color: var(--ink) !important; margin: 0 0 8px; font-weight: 500; }
.be-foot p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.7; }
.be-foot a { color: var(--deep); text-decoration: none; border-bottom: 1px solid rgba(31, 143, 132, .35); }
.be-foot a:hover { color: var(--ink); }
.be-foot .be-foot-cta { display: inline-block; margin-top: 12px; border: 1px solid var(--deep); border-radius: 999px; padding: 10px 24px;
  font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
.be-foot .be-foot-cta:hover { background: var(--deep); color: #fff; }
@media (max-width: 767px) { .be-foot .be-foot-in { grid-template-columns: 1fr; gap: 26px; } .be-foot { padding-bottom: 90px; } }

/* Inner pages: a solid cream header like her original (dark logo, dark menu), the page starts below it.
   It still follows on desktop; Home keeps the see-through header over the photo. */
html body:not(.home) .et-l--header .et_pb_section_1_tb_header { background: rgba(250, 246, 239, .97) !important; box-shadow: 0 1px 0 var(--line); }
html body.be-scrolled:not(.home) .et-l--header .et_pb_section_1_tb_header {
  background: rgba(250, 246, 239, .72) !important; -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 8px 26px rgba(47, 64, 61, .12) !important; }
html body:not(.home) .et-l--header .et_pb_section_1_tb_header .et-menu > li > a { color: var(--ink) !important; text-shadow: none !important; }
html body:not(.home) .et-l--header .et_pb_section_1_tb_header .et-menu > li.current-menu-item > a { color: var(--deep) !important; }
html body:not(.home) #et-main-area { padding-top: var(--be-head-full, 136px); }

/* Home: the curve under the reviews photo in the footer band's sand, so the band seems to rise into it. */
html body.home #main-content .et_pb_section_3.section_has_divider.et_pb_bottom_divider .et_pb_bottom_inside_divider {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSI1MHB4IiB2aWV3Qm94PSIwIDAgMTI4MCAxNDAiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2YxZTlkYyI+PHBhdGggZD0iTTcyNS4yOSAxMDEuMkMzMjUuMjIgMTIyLjQ4IDAgMCAwIDB2MTQwaDEyODBWMHMtMTU0LjY0IDc5LjkyLTU1NC43MSAxMDEuMnoiIGZpbGwtb3BhY2l0eT0iLjMiLz48cGF0aCBkPSJNNTU2LjQ1IDExOS43NEM5NTMuNDEgMTQwIDEyODAgMTQgMTI4MCAxNHYxMjZIMFYwczE1OS41IDk5LjQ4IDU1Ni40NSAxMTkuNzR6IiBmaWxsLW9wYWNpdHk9Ii41Ii8+PHBhdGggZD0iTTY0MCAxNDBjMzUzLjQ2IDAgNjQwLTE0MCA2NDAtMTM5djE0MEgwVjBzMjg2LjU0IDE0MCA2NDAgMTQweiIvPjwvZz48L3N2Zz4=") !important; }

/* Services: the minutes are buttons; the chosen one goes with "Book this". */
.be-prices button { border: 1px solid var(--line); border-radius: 999px; padding: 7px 15px; font: 400 14px var(--sans); color: var(--ink);
  background: var(--cream); cursor: pointer; transition: .15s; }
.be-prices button b { font-weight: 500; color: var(--deep); margin-right: 6px; }
.be-prices button:hover { border-color: var(--teal); }
.be-prices button.on { background: var(--teal); border-color: var(--teal); color: #08332e; box-shadow: 0 4px 12px rgba(92, 214, 197, .3); }
.be-prices button.on b { color: #08332e; }

/* Bottom footer on one line, smaller: (c) Body Electric  ·  Instagram  ·  logo */
html body .et-l--footer .et_pb_section_0_tb_footer { padding: 30px 0 !important; background: var(--cream) !important; }
html body .et-l--footer .et_pb_row_0_tb_footer { display: flex !important; align-items: center; justify-content: space-between; gap: 20px;
  padding: 0 !important; width: min(1080px, 100% - 32px) !important; max-width: none !important; }
html body .et-l--footer .et_pb_row_0_tb_footer > .et_pb_column { width: auto !important; margin: 0 !important; flex: 1 1 0; }
html body .et-l--footer .et_pb_text_0_tb_footer, html body .et-l--footer .et_pb_text_0_tb_footer p { font-size: 13px !important; padding: 0 !important; margin: 0 !important; }
html body .et-l--footer .et_pb_column_1_tb_footer { display: flex !important; justify-content: flex-end; }
html body .et-l--footer .et_pb_column_1_tb_footer .et_pb_image { text-align: right !important; margin: 0 0 0 auto !important; width: auto !important; }
html body .et-l--footer .et_pb_image_0_tb_footer img { max-height: 34px !important; width: auto !important; }
.be-foot-social { flex: 0 0 auto; }
.be-foot-social ul { margin: 0 !important; padding: 0 !important; }
.be-foot-social li { margin: 0 !important; }
.be-foot-social a.icon { width: 28px !important; height: 28px !important; }
.be-foot-social a.icon::before { font-size: 15px !important; line-height: 28px !important; width: 28px !important; height: 28px !important; }
@media (max-width: 767px) {
  html body .et-l--footer .et_pb_row_0_tb_footer { flex-direction: column; gap: 10px; text-align: center; }
  html body .et-l--footer .et_pb_column_1_tb_footer .et_pb_image { text-align: center !important; }
  html body .et-l--footer .et_pb_column_1_tb_footer { justify-content: center; }
  html body .et-l--footer .et_pb_column_1_tb_footer .et_pb_image { margin: 0 auto !important; }
}

/* Booking form, redesigned (Nov 5): a soft cream card in three calm steps, serif headings, deep-teal selections. */
html body #page-container .be-form {
  max-width: 760px; background: #fffdf9; border: 1px solid var(--line); border-top: 0; border-radius: 28px; padding: 52px 56px 44px;
  box-shadow: 0 30px 70px rgba(47, 64, 61, .10), 0 2px 8px rgba(47, 64, 61, .04); font-family: var(--sans); color: var(--ink);
}
.be-form-head { text-align: center; margin-bottom: 34px; }
.be-form-head .be-eyebrow { font-size: 12px; letter-spacing: .26em; padding-left: .26em; text-transform: uppercase; color: var(--deep); margin: 0 auto 6px !important; }
html body #page-container .be-form-head h2 { font-size: clamp(34px, 3.4vw, 44px) !important; color: var(--ink) !important; margin: 0 0 10px; }
.be-form-head p { color: var(--muted); font-size: 16px; line-height: 1.7; max-width: 520px; margin: 0 auto; }
.be-form-head::after { content: "\2726"; display: block; width: 150px; margin: 18px auto 0; color: var(--teal); font-size: 12px;
  background: linear-gradient(var(--line), var(--line)) left center / 58px 1px no-repeat, linear-gradient(var(--line), var(--line)) right center / 58px 1px no-repeat; }
.be-picked { display: inline-block !important; margin-top: 16px !important; padding: 7px 16px; border-radius: 999px; background: var(--sand);
  color: var(--deep) !important; font-size: 13px !important; letter-spacing: .06em; }
.be-picked[hidden] { display: none !important; }

.be-step { padding: 26px 0 8px; border-top: 1px solid var(--line); }
.be-step.be-last { padding-top: 26px; }
html body #page-container .be-step h3 { font-size: 26px !important; color: var(--ink) !important; margin: 0 0 20px; display: flex; align-items: baseline; gap: 12px; }
.be-step h3 span { font-family: var(--sans); font-size: 12px; letter-spacing: .2em; color: var(--deep); font-weight: 500; }

html body #page-container .be-field input, html body #page-container .be-field textarea {
  background: #f7f2ea; border: 1px solid transparent; border-radius: 14px; color: var(--ink); font-family: var(--sans) !important; font-size: 16px;
  padding: 24px 16px 9px;
}
html body #page-container .be-field input:focus, html body #page-container .be-field textarea:focus {
  background: #fff; border-color: var(--deep); box-shadow: 0 0 0 4px rgba(31, 143, 132, .12);
}
.be-field > span { color: #8a958f; font-size: 15px; top: 17px; left: 17px; }
.be-field input:focus + span, .be-field input:not(:placeholder-shown) + span, .be-field textarea:focus + span,
.be-field textarea:not(:placeholder-shown) + span, .be-fixed > span { color: var(--deep); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; top: 7px; }
.be-field small, .be-chips small { color: #95a19b; font-size: 13px; }
.be-field.invalid input, .be-field.invalid textarea { border-color: #d97b6c; background: #fdf3f0; }

.be-chips legend { font-family: var(--sans); font-size: 15px; color: var(--ink); margin-bottom: 10px; }
.be-chips span { border: 1px solid #ddd3c2; background: transparent; color: var(--ink); font-size: 14px; padding: 9px 18px; }
.be-chips label:hover span { border-color: var(--deep); }
.be-chips input:checked + span { background: var(--deep); border-color: var(--deep); color: #fff; box-shadow: 0 6px 16px rgba(31, 143, 132, .25); }
.be-chips.invalid span { border-color: #d97b6c; }

html body #page-container .be-send {
  background: var(--deep); border-radius: 999px; padding: 17px 24px; font: 500 14px var(--sans) !important; letter-spacing: .18em; text-transform: uppercase;
  box-shadow: 0 14px 30px rgba(31, 143, 132, .28); margin-top: 10px;
}
html body #page-container .be-send:hover { background: #187a71; }
.be-note { text-align: center; }
html body #page-container .be-thanks h3 { font-family: var(--serif) !important; font-size: 40px !important; color: var(--ink) !important; }
.be-thanks p { color: var(--muted); font-size: 16px; }

@media (max-width: 980px) {
  /* The old form's Divi row and module kept wide side padding; give the card the width of the phone. */
  html body.page-id-51 #main-content .et_pb_section_1 .et_pb_row_0 { width: calc(100% - 24px) !important; max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; margin-left: auto !important; margin-right: auto !important; }
  html body.page-id-51 #main-content .wpforms_selector_0 { padding-left: 0 !important; padding-right: 0 !important; }
}
@media (max-width: 640px) {
  html body #page-container .be-form { padding: 34px 20px 28px; border-radius: 22px; }
}

/* Somatic Release Package summary inside the booking form */
.be-pack { background: var(--sand); border-radius: 18px; padding: 18px 22px; margin: 0 0 20px; }
.be-pack p { margin: 0 0 6px; color: var(--ink); font-size: 15px; line-height: 1.6; }
.be-pack .be-pack-title { font-family: var(--serif); font-size: 22px; margin-bottom: 4px; }
.be-pack .be-pack-note { color: var(--muted); font-size: 13px; margin: 0; }
