/* Eye Candy — compact, accessible service directory v1.
   Scoped to the public /services page only. */
.ec-services-page { max-width: 1020px; margin: 0 auto; }
.ec-services-page > .section-intro { margin: 0 0 26px; max-width: 730px; line-height: 1.7; }
.ec-service-tools { display: none; margin: 0 0 26px; }
.ec-services-js .ec-service-tools { display: block; }
.ec-service-search-label { display: block; margin: 0 0 9px; font-weight: 650; font-size: .9rem; color: #242225; }
.ec-service-search-wrap { position: relative; }
.ec-service-search-wrap::before { content: ''; position: absolute; left: 18px; top: 50%; width: 15px; height: 15px;
  transform: translateY(-60%); border: 1.7px solid #5e5556; border-radius: 50%; pointer-events: none; }
.ec-service-search-wrap::after { content: ''; position: absolute; left: 31px; top: 60%; width: 8px; height: 1.7px;
  transform: rotate(48deg); background: #5e5556; pointer-events: none; }
.ec-services-page .ec-service-search { width: 100%; min-height: 52px; padding: 12px 18px 12px 48px;
  border-radius: 12px; border: 1px solid #d9d4d0; background: #fff; color: #242225;
  font: inherit; font-size: .96rem; box-shadow: 0 2px 6px rgba(0,0,0,.015); }
.ec-services-page .ec-service-search:focus-visible { outline: 2px solid #a68b6b; outline-offset: 2px; }
.ec-service-search-note { font-size: .83rem; color: #6d6763; margin: 9px 0 0; min-height: 1.25em; }
.ec-service-directory { display: grid; gap: 12px; }
/* Override the site's generic `details` styling without changing policies, calendars, etc. */
.ec-services-page details.ec-service-provider { margin: 0; padding: 0; overflow: hidden;
  border: 1px solid #e5dfd9; background: #fff; border-radius: 13px;
  box-shadow: 0 3px 14px rgba(33,29,27,.025); }
.ec-services-page details.ec-service-provider[open] { border-color: #c8b9ab; }
.ec-services-page .ec-service-provider > summary { display: flex; gap: 20px; align-items: center;
  justify-content: space-between; min-height: 82px; padding: 20px 25px; color: #262221;
  list-style: none; cursor: pointer; }
.ec-services-page .ec-service-provider > summary::-webkit-details-marker { display: none; }
.ec-services-page .ec-service-provider > summary:focus-visible { outline: 2px solid #a68b6b; outline-offset: -4px; }
.ec-services-page .ec-provider-title { display: block; font: 500 clamp(1.15rem, 2.3vw, 1.36rem)/1.3 Georgia, 'Times New Roman', serif; color: #302925; }
.ec-services-page .ec-provider-subtitle { display: block; color: #77716d; margin-top: 5px; font-size: .84rem; font-weight: 400; }
.ec-services-page .ec-provider-action { display: inline-flex; gap: 13px; align-items: center; white-space: nowrap;
  font-size: .83rem; font-weight: 650; color: #675648; }
.ec-services-page .ec-provider-chevron { display: inline-block; width: 9px; height: 9px; border-right: 1.8px solid currentColor;
  border-bottom: 1.8px solid currentColor; transform: rotate(45deg); transition: transform .17s ease; margin-top: -4px; }
.ec-services-page .ec-service-provider[open] .ec-provider-chevron { transform: rotate(225deg); margin-top: 4px; }
.ec-services-page .ec-provider-content { padding: 0 24px 10px; border-top: 1px solid #eeeae6; }
.ec-services-page .ec-provider-about { display: inline-block; margin: 17px 0 6px; font-size: .84rem; color: #695745; text-decoration: underline; text-underline-offset: 3px; }
.ec-services-page .ec-provider-about:focus-visible, .ec-service-book:focus-visible { outline: 2px solid #a68b6b; outline-offset: 3px; }
.ec-services-page .ec-service-row { display: flex; gap: 18px; justify-content: space-between; align-items: center;
  padding: 21px 0; border-bottom: 1px solid #f0ece8; }
.ec-services-page .ec-service-row:last-child { border-bottom: 0; }
.ec-services-page .ec-service-row-main { min-width: 0; flex: 1; }
.ec-services-page .ec-service-category { display: block; text-transform: uppercase; letter-spacing: .11em; color: #8c7b6b;
  font-size: .65rem; font-weight: 700; margin-bottom: 5px; }
.ec-services-page h3.ec-service-name { margin: 0 0 4px; color: #292625; font: 600 1rem/1.4 Arial, Helvetica, sans-serif; }
.ec-services-page .ec-service-duration { font-size: .83rem; color: #77716d; margin: 0; }
.ec-services-page details.ec-service-description { background: transparent; border: 0; border-radius: 0; margin: 7px 0 0; padding: 0; }
.ec-services-page details.ec-service-description > summary { display: inline-block; color: #766355; font: 500 .81rem/1.5 Arial,Helvetica,sans-serif;
  text-decoration: underline; text-underline-offset: 3px; list-style: none; }
.ec-services-page details.ec-service-description > summary::-webkit-details-marker { display: none; }
.ec-services-page details.ec-service-description > p { margin: 8px 0 0; max-width: 550px; color: #6d6763; font-size: .88rem; line-height: 1.65; }
.ec-services-page .ec-service-row-end { display: flex; gap: 20px; align-items: center; justify-content: flex-end; flex-shrink: 0; }
.ec-services-page .ec-service-price { color: #2c2926; font-size: .94rem; font-weight: 700; text-align: right; max-width: 160px; }
.ec-services-page .ec-service-book { display: inline-flex; justify-content: center; align-items: center; min-width: 82px; min-height: 39px;
  padding: 9px 14px; border-radius: 7px; color: #fff; background: #33302f; text-decoration: none;
  font: 650 .82rem/1.25 Arial,Helvetica,sans-serif; transition: background .16s ease; }
.ec-services-page .ec-service-book:hover { background: #554a42; }
.ec-services-page .ec-services-empty { padding: 18px 0; font-size: .88rem; color: #706862; }
.ec-services-page [hidden] { display: none !important; }
@media (max-width: 620px) {
  .ec-services-page .ec-service-provider > summary { padding: 17px 17px; min-height: 75px; gap: 12px; }
  .ec-services-page .ec-provider-content { padding: 0 17px 8px; }
  .ec-services-page .ec-provider-action { font-size: .75rem; gap: 9px; }
  .ec-services-page .ec-service-row { align-items: flex-start; gap: 12px; }
  .ec-services-page .ec-service-row-end { flex-direction: column; align-items: flex-end; gap: 10px; }
  .ec-services-page .ec-service-book { min-width: 76px; }
  .ec-services-page .ec-service-price { font-size: .85rem; }
}
@media (prefers-reduced-motion: reduce) { .ec-services-page .ec-provider-chevron { transition: none; } }
.ec-services-page .ec-when-open { display: none; }
.ec-services-page .ec-service-provider[open] .ec-when-open { display: inline; }
.ec-services-page .ec-service-provider[open] .ec-when-closed { display: none; }


/* EYE_CANDY_SERVICES_CURSIVE_TITLE_V1 */
/* Match the salon's approved script headings. Applies to the one public Services title only. */
.ec-services-page > h1 {
  font-family: 'Great Vibes', 'URW Chancery L', 'Apple Chancery', 'Brush Script MT', cursive;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  font-size: clamp(3rem, 4.6vw, 4.75rem);
  line-height: 1.3;
  margin: 8px 0 13px;
  padding: .08em .04em .1em 0;
  overflow-wrap: normal;
  text-wrap: pretty;
}
@media (max-width: 760px) {
  .ec-services-page > h1 { font-size: clamp(2.8rem, 9.3vw, 4.2rem); }
}
@media (max-width: 410px) {
  .ec-services-page > h1 { font-size: clamp(2.5rem, 10.5vw, 3.2rem); }
}
