.esm-directory-focus,
.esm-directory,
.esm-calendar-wrap,
.esm-profile,
.esm-invitation-public,
.esm-account-hub,
.esm-account-empty {
  --esm-purple: #50358f;
  --esm-purple-dark: #382367;
  --esm-orange: #eb5c2b;
  --esm-border: #e3dfec;
  color: #29252f;
}

.esm-directory-focus, .esm-directory { font-family: var(--esm-directory-body-font, inherit); }
.esm-directory h1, .esm-directory h2, .esm-directory h3 { font-family: var(--esm-directory-heading-font, inherit); }
.esm-calendar-wrap { font-family: var(--esm-agenda-body-font, inherit); }
.esm-calendar-wrap h1, .esm-calendar-wrap h2, .esm-calendar-wrap h3, .esm-calendar-wrap .fc-toolbar-title { font-family: var(--esm-agenda-heading-font, inherit); }

/* Keep Elementor's global link palette from leaking into Essensyo front-end areas. */
:where(.esm-directory-focus, .esm-directory, .esm-calendar-wrap, .esm-profile, .esm-invitation-public, .esm-account-hub, .esm-account-empty) :where(a[href]:not(.button, .esm-primary-button, .esm-account-card, .page-numbers)):link,
:where(.esm-directory-focus, .esm-directory, .esm-calendar-wrap, .esm-profile, .esm-invitation-public, .esm-account-hub, .esm-account-empty) :where(a[href]:not(.button, .esm-primary-button, .esm-account-card, .page-numbers)):visited {
  color: var(--esm-purple, #50358f) !important;
}
:where(.esm-directory-focus, .esm-directory, .esm-calendar-wrap, .esm-profile, .esm-invitation-public, .esm-account-hub, .esm-account-empty) :where(a[href]:not(.button, .esm-primary-button, .esm-account-card, .page-numbers)):hover,
:where(.esm-directory-focus, .esm-directory, .esm-calendar-wrap, .esm-profile, .esm-invitation-public, .esm-account-hub, .esm-account-empty) :where(a[href]:not(.button, .esm-primary-button, .esm-account-card, .page-numbers)):focus-visible,
:where(.esm-directory-focus, .esm-directory, .esm-calendar-wrap, .esm-profile, .esm-invitation-public, .esm-account-hub, .esm-account-empty) :where(a[href]:not(.button, .esm-primary-button, .esm-account-card, .page-numbers)):active {
  color: var(--esm-purple-dark, #382367) !important;
}

.esm-directory-focus,
.esm-directory,
.esm-calendar-wrap,
.esm-profile,
.esm-invitation-public,
.esm-account-hub,
.esm-account-empty,
.esm-directory-focus *,
.esm-directory *,
.esm-calendar-wrap *,
.esm-profile *,
.esm-invitation-public *,
.esm-account-hub *,
.esm-account-empty * {
  box-sizing: border-box;
}

/* Transfer 90px from the left navigation to the account content without changing the mobile layout. */
@media (min-width: 1025px) {
  body.woocommerce-account .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation {
    width: calc(25% - 90px) !important;
  }
  body.woocommerce-account .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-content {
    box-sizing: border-box;
    width: calc(75% + 90px) !important;
  }
}
.esm-directory-focus { width: 100%; }
body.woocommerce-account .woocommerce-MyAccount-content-wrapper { padding: 0 !important; }

.esm-account-hub { margin: 0 0 12px; color: #352f3a; }
.esm-account-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.esm-account-card { position: relative; display: grid; min-height: 150px; grid-template-columns: 50px minmax(0, 1fr) 24px; gap: 14px; align-items: start; padding: 22px; border: 1px solid #e3ddeb; border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(53, 36, 91, .07); color: #352f3a; text-decoration: none !important; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.esm-account-card:hover, .esm-account-card:focus-visible { border-color: #a994d1; box-shadow: 0 15px 34px rgba(53, 36, 91, .13); color: #352f3a; outline: 0; transform: translateY(-2px); }
.esm-account-card-icon { display: grid; width: 50px; height: 50px; place-content: center; border-radius: 14px; background: #f1ecfa; color: var(--esm-purple); font-size: 25px; }
.esm-account-card-copy { display: grid; gap: 5px; }
.esm-account-card-copy strong { color: var(--esm-purple-dark); font-size: 1.08rem; }
.esm-account-card-copy small { width: fit-content; padding: 3px 8px; border-radius: 999px; background: #edf7f1; color: #17633a; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.esm-account-card-copy > span { color: #68616e; font-size: .92rem; line-height: 1.5; }
.esm-account-card-arrow { align-self: center; color: var(--esm-purple); font-size: 1.35rem; transition: transform .18s ease; }
.esm-account-card:hover .esm-account-card-arrow { transform: translateX(3px); }
.esm-account-card-unavailable .esm-account-card-copy small { background: #f2f0f3; color: #6a6570; }
.esm-account-card-attention .esm-account-card-copy small { background: #fff5df; color: #765400; }
.esm-account-card-complete .esm-account-card-copy small { background: #e8f6f3; color: #0f6b63; }
.esm-account-empty { display: grid; max-width: 760px; justify-items: center; gap: 10px; margin: 20px auto; padding: clamp(28px, 6vw, 58px); border: 1px solid #e3ddeb; border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(53, 36, 91, .08); text-align: center; }
.esm-account-empty .dashicons { width: 52px; height: 52px; color: var(--esm-purple); font-size: 52px; }
.esm-account-empty h2 { margin: 6px 0 0; color: var(--esm-purple-dark); }
.esm-account-empty p { max-width: 570px; margin: 0; color: #68616e; line-height: 1.65; }
.esm-account-empty-complete .dashicons { color: #0f6b63; }

.esm-directory { width: min(1240px, 100%); margin-inline: auto; padding: clamp(12px, 2vw, 28px) 0 56px; }
.esm-directory-focus .esm-directory { padding-top: 0; padding-bottom: 28px; }

.esm-directory-hero {
  position: relative;
  display: flex;
  min-height: 170px;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  overflow: hidden;
  padding: clamp(22px, 3vw, 38px);
  border-radius: 14px;
  background-color: var(--esm-directory-header-start, #2f1c59);
  background-image:
    radial-gradient(circle at 86% 18%, rgba(235, 92, 43, .34), transparent 27%),
    linear-gradient(135deg, rgba(var(--esm-directory-header-start-rgb, 47, 28, 89), var(--esm-directory-header-overlay-opacity, 1)), rgba(var(--esm-directory-header-end-rgb, 105, 72, 169), var(--esm-directory-header-overlay-opacity, 1))),
    var(--esm-directory-header-image, none);
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto, cover, cover;
  color: var(--esm-directory-header-text, #fff);
}

.esm-directory-hero::after { content: ""; position: absolute; right: -80px; bottom: -110px; width: 310px; height: 310px; border: 1px solid rgba(255, 255, 255, .17); border-radius: 50%; }
.esm-directory-hero-copy { position: relative; z-index: 1; flex: 1 1 auto; max-width: 720px; }
.esm-directory-eyebrow { display: inline-flex; margin-bottom: 9px; padding: 5px 10px; border: 1px solid currentColor; border-radius: 999px; background: rgba(255, 255, 255, .1); color: var(--esm-directory-header-text, #fff); font-size: .74rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; opacity: .9; }
.esm-directory-hero h1 { margin: 0; color: var(--esm-directory-header-text, #fff); font-size: clamp(1.9rem, 3.4vw, 3.25rem); line-height: 1.02; letter-spacing: -.045em; }
.esm-directory-hero p { max-width: 650px; margin: 11px 0 0; color: var(--esm-directory-header-text, #fff); font-size: clamp(.95rem, 1.2vw, 1.08rem); line-height: 1.5; opacity: .88; }
.esm-directory-hero-actions { position: relative; z-index: 2; display: flex; flex: 0 0 auto; align-self: flex-start; flex-direction: column; align-items: flex-end; gap: 12px; }
.esm-directory-charter-button { display: inline-flex; align-items: center; justify-content: center; padding: 11px 20px; border-radius: 9px; background: var(--esm-orange); color: #fff !important; font-size: .92rem; font-weight: 750; line-height: 1.2; text-decoration: none !important; box-shadow: 0 8px 20px rgba(121, 41, 15, .28); transition: filter .18s ease, transform .18s ease, box-shadow .18s ease; }
.esm-directory-charter-button:hover, .esm-directory-charter-button:focus-visible { color: #fff !important; filter: brightness(.92); transform: translateY(-1px); box-shadow: 0 11px 24px rgba(121, 41, 15, .34); }
.esm-directory-charter-button:focus-visible { outline: 3px solid rgba(255, 255, 255, .7); outline-offset: 3px; }
.esm-directory-hero .esm-directory-admin-view { position: relative; z-index: 2; align-self: flex-start; color: var(--esm-directory-header-text, #fff); }
.esm-directory-hero-mark { position: absolute; z-index: 1; right: 30px; bottom: 20px; display: grid; width: 130px; grid-template-columns: repeat(2, 52px); gap: 12px; opacity: .9; transform: rotate(-8deg); }
.esm-directory-hero-mark span { width: 52px; height: 52px; border-radius: 50%; background: rgba(255, 255, 255, .2); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .23); }
.esm-directory-hero-mark span:nth-child(2) { background: var(--esm-orange); }
.esm-directory-hero-mark span:nth-child(3) { grid-column: 2; }

.esm-directory-notice { display: flex; align-items: flex-start; gap: 16px; margin: 0 0 20px; padding: clamp(20px, 2.5vw, 28px); border: 1px solid #ddd4ec; border-left: 4px solid var(--esm-orange); border-radius: 14px; background: #faf8fd; color: #40394a; box-shadow: 0 10px 28px rgba(47, 28, 89, .07); }
.esm-directory-notice > .dashicons { width: 26px; height: 26px; flex: 0 0 26px; margin-top: 1px; color: var(--esm-purple); font-size: 26px; }
.esm-directory-notice-content { min-width: 0; font-size: .95rem; line-height: 1.65; }
.woocommerce .esm-directory-notice-content p { margin: 0 0 12px !important; color: inherit; }
.woocommerce .esm-directory-notice-content p:last-child { margin-bottom: 0 !important; }

.esm-directory-filters {
  position: relative;
  z-index: 2;
  display: grid;
	grid-template-columns: minmax(280px, 5fr) repeat(2, minmax(180px, 3fr)) 50px;
	column-gap: clamp(16px, 2.2vw, 28px);
	row-gap: 26px;
	align-items: end;
	margin: 20px 0 0;
	padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--esm-border);
  border-radius: 20px;
  background: rgba(255, 255, 255, .97);
	box-shadow: 0 18px 46px rgba(47, 28, 89, .13);
}

.esm-directory-filters-heading { display: flex; grid-column: 1 / -1; align-items: flex-start; justify-content: space-between; gap: 20px; }
.woocommerce .esm-directory-filters-heading h2 { margin: 0 0 5px !important; color: var(--esm-purple-dark); font-size: 1.35rem; font-weight: 700; line-height: 1.25; text-align: left !important; }
.woocommerce .esm-directory-filters-heading p { margin: 0 !important; color: #6a6472; text-align: left !important; }
.esm-directory-filters-meta { display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 12px; text-align: right; }
.esm-directory-filters-meta .esm-results-count { flex-basis: 100%; }
.esm-directory-active-filters { display: flex; grid-column: 1 / -1; align-items: center; gap: 12px; margin-top: -5px; padding-top: 18px; border-top: 1px solid #ece8f1; }
.esm-directory-active-filters-title { flex: 0 0 auto; color: #6a6472; font-size: .82rem; font-weight: 750; }
.esm-directory-active-filter-list { display: flex; min-width: 0; flex: 1 1 auto; flex-wrap: wrap; gap: 8px; }
.esm-directory-active-filter { display: inline-flex; max-width: 100%; align-items: center; gap: 8px; padding: 7px 10px 7px 12px; border: 1px solid #d9cfeb; border-radius: 999px; background: #f4f0fa; color: var(--esm-purple) !important; font-size: .82rem; font-weight: 700; line-height: 1.25; text-decoration: none !important; transition: border-color .16s ease, background-color .16s ease, color .16s ease; }
.esm-directory-active-filter > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.esm-directory-active-filter-remove { display: grid; width: 18px; height: 18px; flex: 0 0 18px; place-content: center; border-radius: 50%; background: #ded5ed; font-size: 16px; font-weight: 500; line-height: 1; }
.esm-directory-active-filter:hover, .esm-directory-active-filter:focus-visible { border-color: var(--esm-purple); background: #ebe4f6; color: var(--esm-purple-dark) !important; }
.esm-directory-active-filter:focus-visible { outline: 3px solid rgba(80, 53, 143, .18); outline-offset: 2px; }
.esm-directory-filter-reset { flex: 0 0 auto; color: var(--esm-purple) !important; font-size: .85rem; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.esm-directory-filters > label { grid-column: auto; }
.esm-directory-filter-actions { display: flex; grid-column: auto; align-items: flex-end; justify-content: flex-end; }
.esm-directory-search-control { position: relative; display: block; }
.esm-directory-search-control input { padding-right: 44px; }
.esm-directory-search-control svg { position: absolute; top: 50%; right: 15px; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; transform: translateY(-50%); pointer-events: none; }

.esm-directory-filters label,
.esm-invitation-public label { display: grid; gap: 6px; font-weight: 600; }
.esm-directory-filters input,
.esm-directory-filters select,
.esm-profile-form input,
.esm-profile-form select,
.esm-profile-form textarea,
.esm-invitation-public input,
.esm-invitation-public select { min-height: 44px; border: 1px solid #b9b3c6; border-radius: 7px; padding: 8px 10px; background: #fff; }
.esm-profile-form select[multiple],
.esm-invitation-public select[multiple],
.woocommerce select.esm-reference-multiselect { min-height: 150px; padding: 6px; background-image: none; }
.esm-profile-form select[multiple] option,
.esm-invitation-public select[multiple] option,
.woocommerce select.esm-reference-multiselect option { padding: 7px 9px; }
.esm-multiselect-help,
.woocommerce .esm-directory-detail .description { display: block; margin: 5px 0 7px; color: #68616e; font-size: .86rem; font-weight: 400; line-height: 1.45; }
.esm-checkout-profile-fields { margin-top: 22px; padding-top: 20px; border-top: 1px solid #dedbd7; }
.woocommerce-checkout .wc-block-components-address-form__job,
.woocommerce-checkout .wc-block-components-address-form__sector,
.woocommerce-checkout .wc-block-components-address-form__metier,
.woocommerce-checkout .wc-block-components-address-form__secteur { display: none !important; }
.esm-checkout-profile-fields h3 { margin: 0 0 5px; color: #2f2b28; font-size: 1rem; font-weight: 750; line-height: 1.35; }
.esm-checkout-profile-help { margin: 0 0 14px; color: #68615c; font-size: .88rem; line-height: 1.5; }
.esm-required-mark { color: #a13b3c; font-weight: 800; }
.esm-checkout-profile-select { display: grid; gap: 6px; margin-top: 12px; color: #2f2b28; font-size: .82rem; font-weight: 750; }
.esm-checkout-profile-select select,
.woocommerce #billing_status,
.woocommerce #billing_company_size,
.woocommerce #esm_registration_status,
.woocommerce #esm_registration_company_size { width: 100% !important; min-height: 54px !important; box-sizing: border-box; padding: 9px 42px 9px 14px !important; appearance: none !important; border: 1px solid #b8b2ad !important; border-radius: 7px !important; background-color: #fff !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.25 6 6.25 11 1.25' fill='none' stroke='%23c45121' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 17px center !important; background-size: 12px 8px !important; color: #2f2b28 !important; box-shadow: 0 2px 6px rgba(56, 35, 103, .06) !important; font: inherit; font-weight: 400; cursor: pointer; transition: border-color .16s ease, box-shadow .16s ease; }
.esm-checkout-profile-select select:hover,
.woocommerce #billing_status:hover,
.woocommerce #billing_company_size:hover,
.woocommerce #esm_registration_status:hover,
.woocommerce #esm_registration_company_size:hover { border-color: #8f819f !important; }
.esm-checkout-profile-select select:focus,
.woocommerce #billing_status:focus,
.woocommerce #billing_company_size:focus,
.woocommerce #esm_registration_status:focus,
.woocommerce #esm_registration_company_size:focus { border-color: #c45121 !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(235, 92, 43, .16) !important; }
.esm-circle-checkout-acceptance a,
.wc-block-checkout__terms .wc-block-components-checkbox__label a { text-decoration: underline; text-underline-offset: 2px; }
.esm-checkout-multiselect { position: relative; margin-top: 12px; }
.esm-checkout-multiselect summary { display: grid; min-height: 54px; box-sizing: border-box; cursor: pointer; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 9px 42px 9px 14px; border: 1px solid #b8b2ad; border-radius: 7px; background: #fff; color: #2f2b28; list-style: none; }
.esm-checkout-multiselect summary::-webkit-details-marker { display: none; }
.esm-checkout-multiselect summary::after { position: absolute; right: 17px; width: 8px; height: 8px; border-right: 2px solid #c45121; border-bottom: 2px solid #c45121; content: ''; transform: translateY(-3px) rotate(45deg); transition: transform .16s ease; }
.esm-checkout-multiselect[open] summary { border-color: #c45121; box-shadow: 0 0 0 1px #c45121; }
.esm-checkout-multiselect[open] summary::after { transform: translateY(2px) rotate(225deg); }
.esm-checkout-multiselect-label { font-size: .78rem; font-weight: 750; letter-spacing: .025em; }
.esm-checkout-multiselect-value { max-width: 260px; overflow: hidden; color: #5e5752; font-size: .82rem; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.esm-checkout-multiselect-options { position: absolute; z-index: 30; top: calc(100% + 5px); right: 0; left: 0; max-height: 250px; overflow-y: auto; padding: 7px; border: 1px solid #cfc9c4; border-radius: 8px; background: #fff; box-shadow: 0 14px 32px rgba(60, 45, 34, .16); }
.esm-checkout-multiselect-option { display: flex; cursor: pointer; align-items: flex-start; gap: 10px; padding: 9px 10px; border-radius: 6px; color: #302c29; font-size: .9rem; line-height: 1.35; }
.esm-checkout-multiselect-option:hover { background: #fff3eb; }
.esm-checkout-multiselect-option input { flex: 0 0 auto; margin: 2px 0 0; accent-color: #c45121; }
.esm-checkout-multiselect summary:focus-visible { outline: 3px solid rgba(196, 81, 33, .3); outline-offset: 2px; }
.esm-profile-field-label { display: block; color: #352f3a; font-weight: 600; }
.esm-profile-multiselect-row { position: relative; }
.esm-profile-multiselect { width: 100%; margin-top: 7px; }
.esm-profile-multiselect summary { min-height: 48px; }
.esm-profile-multiselect .esm-profile-multiselect-options { position: static; max-height: 250px; margin-top: 6px; overflow-y: auto; background: #fff; box-shadow: 0 9px 22px rgba(60, 45, 34, .11); }
.esm-profile-multiselect-recap { display: grid; gap: 7px; margin-top: 10px; padding: 10px 12px; border: 1px solid #efd7c6; border-radius: 9px; background: #fffaf6; }
.esm-profile-multiselect-recap[hidden] { display: none; }
.esm-profile-multiselect-recap-label { color: #5d4a43; font-size: .79rem; font-weight: 750; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form .esm-profile-multiselect-recap-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form .esm-profile-multiselect-recap-list li { margin: 0; padding: 5px 9px; border: 1px solid #efc1ac; border-radius: 999px; background: #fce9df; color: #743117; font-size: .8rem; font-weight: 650; line-height: 1.3; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form label.esm-checkout-multiselect-option { display: flex !important; flex-direction: row !important; align-items: flex-start !important; gap: 10px; margin: 0; padding: 9px 10px; color: #302c29; font-size: .9rem !important; font-weight: 500; line-height: 1.35; cursor: pointer; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form label.esm-checkout-multiselect-option:hover { background: #fff3eb; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form .esm-profile-multiselect-options input[type="checkbox"] { position: static !important; display: inline-block !important; width: 18px !important; min-width: 18px !important; max-width: 18px !important; height: 18px !important; min-height: 18px !important; max-height: 18px !important; margin: 1px 0 0 !important; padding: 0 !important; border: 0 !important; border-radius: 3px; background: #fff !important; box-shadow: none !important; accent-color: #c45121; appearance: auto !important; }
.esm-profile-multiselect-error { display: block; margin-top: 7px; color: #8e292a; font-size: .85rem; font-weight: 650; line-height: 1.4; }
.esm-profile-multiselect-error[hidden] { display: none; }
.esm-profile-multiselect summary[aria-invalid="true"] { border-color: #a13b3c; box-shadow: 0 0 0 2px rgba(161, 59, 60, .14); }
.esm-directory-filters input,
.esm-directory-filters select { width: 100%; min-height: 50px; box-sizing: border-box; border-color: #b9b3c6; border-radius: 10px !important; padding-inline: 14px; color: #29252f; font-size: .95rem; transition: border-color .18s ease, box-shadow .18s ease; }
.esm-directory-search-control input[type="search"] { appearance: none; -webkit-appearance: none; }
.esm-directory-search-control input[type="search"]::-webkit-search-decoration,
.esm-directory-search-control input[type="search"]::-webkit-search-cancel-button { appearance: none; -webkit-appearance: none; }
.esm-directory-filters select { padding-right: 42px; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='m1.5 1.5 5.5 5.5 5.5-5.5' fill='none' stroke='%231b1830' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 15px center; background-size: 14px 9px; }
.esm-directory-filters input:focus,
.esm-directory-filters select:focus { border-color: var(--esm-purple); outline: 0; box-shadow: 0 0 0 3px rgba(80, 53, 143, .14); }
.esm-directory .esm-directory-filter-select > .select2-container { display: block; width: 100% !important; min-width: 0; margin: 0; }
.esm-directory .esm-directory-filter-select > .select2-container .select2-selection--single { display: block; height: 50px !important; box-sizing: border-box !important; margin: 0 !important; border: 1px solid #b9b3c6 !important; border-radius: 10px !important; background: #fff !important; box-shadow: none !important; transition: border-color .18s ease, box-shadow .18s ease; }
.esm-directory .esm-directory-filter-select > .select2-container .select2-selection--single .select2-selection__rendered { height: 48px; padding: 0 48px 0 14px !important; color: #29252f !important; font-family: inherit !important; font-size: .95rem !important; font-weight: 400 !important; line-height: 48px !important; }
.esm-directory .esm-directory-filter-select > .select2-container .select2-selection--single .select2-selection__placeholder { color: #756f7b !important; }
.esm-directory .esm-directory-filter-select > .select2-container .select2-selection--single .select2-selection__arrow { top: 0 !important; right: 10px !important; width: 24px !important; height: 48px !important; background: transparent !important; }
.esm-directory .esm-directory-filter-select > .select2-container .select2-selection--single .select2-selection__arrow b { top: 50% !important; left: 50% !important; width: 9px !important; height: 9px !important; margin: -7px 0 0 -7px !important; border: 0 !important; border-right: 2px solid #1b1830 !important; border-bottom: 2px solid #1b1830 !important; background: none; transform: rotate(45deg); }
.esm-directory .esm-directory-filter-select > .select2-container--open .select2-selection--single .select2-selection__arrow b { margin-top: -2px !important; transform: rotate(225deg); }
.esm-directory .esm-directory-filter-select > .select2-container .select2-selection--single .select2-selection__clear { position: relative; z-index: 2; margin-right: 5px; color: #625c69; font-size: 21px; font-weight: 400; }
.esm-directory .esm-directory-filter-select > .select2-container--focus .select2-selection--single,
.esm-directory .esm-directory-filter-select > .select2-container--open .select2-selection--single { border-color: var(--esm-purple) !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(80, 53, 143, .14) !important; }
.select2-dropdown.esm-directory-select-dropdown,
.esm-directory-select-is-open .select2-container--open .select2-dropdown { overflow: hidden !important; border: 1px solid #b9b3c6 !important; border-radius: 10px !important; background: #fff !important; box-shadow: 0 14px 32px rgba(47, 28, 89, .16) !important; font-family: inherit !important; }
.esm-directory-select-dropdown .select2-search--dropdown,
.esm-directory-select-is-open .select2-container--open .select2-search--dropdown { padding: 10px !important; border-bottom: 1px solid #ece8f1; background: #faf8fc; }
.esm-directory-select-dropdown .select2-search--dropdown .select2-search__field,
.esm-directory-select-is-open .select2-container--open .select2-search--dropdown .select2-search__field { width: 100% !important; height: 42px !important; min-height: 42px !important; box-sizing: border-box !important; border: 1px solid #b9b3c6 !important; border-radius: 8px !important; padding: 8px 11px !important; background: #fff !important; color: #29252f !important; font: inherit !important; outline: 0 !important; }
.esm-directory-select-dropdown .select2-search--dropdown .select2-search__field:focus,
.esm-directory-select-is-open .select2-container--open .select2-search--dropdown .select2-search__field:focus { border-color: var(--esm-purple) !important; box-shadow: 0 0 0 3px rgba(80, 53, 143, .14) !important; }
.esm-directory-select-dropdown .select2-results__options,
.esm-directory-select-is-open .select2-container--open .select2-results__options { max-height: 280px !important; padding: 6px !important; background: #fff; }
.esm-directory-select-dropdown .select2-results__option,
.esm-directory-select-is-open .select2-container--open .select2-results__option { margin: 0 !important; border-radius: 7px; padding: 10px 12px !important; background: transparent; color: #29252f !important; font-family: inherit !important; font-size: .9rem !important; font-weight: 400 !important; line-height: 1.4 !important; white-space: normal; }
.esm-directory-select-dropdown .select2-results__option--highlighted[aria-selected],
.esm-directory-select-dropdown .select2-results__option--highlighted[data-selected],
.esm-directory-select-is-open .select2-container--open .select2-results__option--highlighted[aria-selected],
.esm-directory-select-is-open .select2-container--open .select2-results__option--highlighted[data-selected] { background: var(--esm-purple) !important; color: #fff !important; }
.esm-directory-select-dropdown .select2-results__option[aria-selected="true"],
.esm-directory-select-dropdown .select2-results__option[data-selected="true"],
.esm-directory-select-is-open .select2-container--open .select2-results__option[aria-selected="true"],
.esm-directory-select-is-open .select2-container--open .select2-results__option[data-selected="true"] { background: #f0ebf7; color: var(--esm-purple-dark) !important; font-weight: 650 !important; }
.esm-directory-filters button,
.esm-primary-button,
.esm-invitation-public button { min-height: 44px; border: 0; border-radius: 7px; padding: 11px 18px; background: var(--esm-purple); color: #fff; font-weight: 700; text-decoration: none; cursor: pointer; }
.esm-directory-filters button:hover,
.esm-directory-filters button:focus-visible,
.esm-primary-button:hover,
.esm-primary-button:focus-visible { background: var(--esm-purple-dark); color: #fff; }
.esm-directory-filters button { display: grid; width: 50px; min-width: 50px; height: 50px; min-height: 50px; padding: 0; place-content: center; border-radius: 10px; background: linear-gradient(145deg, var(--esm-directory-action, #50358f), var(--esm-directory-action-hover, #382367)); color: var(--esm-directory-action-text, #fff); box-shadow: 0 8px 20px rgba(80, 53, 143, .2); transition: background .18s ease, transform .18s ease, box-shadow .18s ease; }
.esm-directory-filters button svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; }
.esm-directory-filters button:hover, .esm-directory-filters button:focus-visible { background: var(--esm-directory-action-hover, #382367); color: var(--esm-directory-action-hover-text, #fff); transform: translateY(-1px); box-shadow: 0 11px 24px rgba(80, 53, 143, .26); }

.esm-directory-results { margin: 20px 0 0; }
.esm-results-count { margin: 0; color: #625c69; }
.esm-results-count strong { color: var(--esm-purple-dark); font-size: 1.35rem; }

.esm-member-list { overflow: hidden; border: 1px solid var(--esm-border); border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(53, 36, 91, .09); }
.esm-member-list table { width: 100%; margin: 0; border: 0; border-collapse: collapse; table-layout: fixed; }
.esm-member-list th:nth-child(1) { width: 16%; }
.esm-member-list th:nth-child(2) { width: 16%; }
.esm-member-list th:nth-child(3) { width: 24%; }
.esm-member-list th:nth-child(4) { width: 23%; }
.esm-member-list th:nth-child(5) { width: 21%; }
.esm-member-list th { padding: 17px 20px; border: 0; background: #f4f0fa; color: var(--esm-purple-dark); font-size: .78rem; font-weight: 800; letter-spacing: .07em; text-align: left; text-transform: uppercase; }
.esm-member-list td { padding: 19px 20px; border: 0; border-top: 1px solid #eeeaf4; color: #4b4552; line-height: 1.45; overflow-wrap: anywhere; vertical-align: middle; transition: background .18s ease; }
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .esm-member-list thead:first-child tr:first-child th { padding: 17px 20px !important; border: 0; background: #f4f0fa; color: var(--esm-purple-dark); }
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .esm-member-list tbody > tr:nth-child(odd) > td,
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .esm-member-list tbody > tr:nth-child(even) > td { padding: 19px 20px !important; border: 0; border-top: 1px solid #eeeaf4; background: #fff; color: #4b4552; vertical-align: middle; }
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .esm-member-list tbody > tr:hover > td { background: #fbf9fe; }
.esm-member-list td:first-child { color: var(--esm-purple-dark); font-weight: 750; }
.esm-member-list tbody tr:hover td { background: #fbf9fe; }
.esm-directory button.esm-member-profile-button { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; padding: 8px 13px; border: 1px solid #f76b1c !important; border-radius: 9px; background-color: #f76b1c !important; background-image: none !important; color: #fff !important; box-shadow: 0 7px 18px rgba(247, 107, 28, .22); font: inherit; font-size: .8rem; font-weight: 750; line-height: 1.25; text-align: center; text-shadow: none; cursor: pointer; transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.esm-directory button.esm-member-profile-button:hover, .esm-directory button.esm-member-profile-button:focus-visible { border-color: #e65f12 !important; background-color: #e65f12 !important; background-image: none !important; color: #fff !important; box-shadow: 0 9px 21px rgba(230, 95, 18, .27); transform: translateY(-1px); }
.esm-directory button.esm-member-profile-button:focus-visible { outline: 3px solid rgba(247, 107, 28, .32); outline-offset: 2px; }
.esm-member-profile-button:disabled { cursor: wait; opacity: .65; transform: none; }
.esm-member-list-empty { padding-block: 36px !important; color: #625c69 !important; font-weight: 500 !important; text-align: center; }
.esm-pagination { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 32px; }
.esm-pagination .page-numbers { display: inline-flex; min-width: 42px; min-height: 42px; align-items: center; justify-content: center; border: 1px solid var(--esm-border); border-radius: 9px; background: #fff; color: var(--esm-purple); text-decoration: none; }
.esm-pagination .page-numbers.current { border-color: var(--esm-directory-action, #50358f); background: var(--esm-directory-action, #50358f); color: var(--esm-directory-action-text, #fff); }

.esm-member-dialog { width: min(720px, calc(100% - 32px)); max-width: 720px; max-height: calc(100dvh - 32px); margin: auto; padding: 0; overflow: hidden; border: 3px solid #fff; border-radius: 22px; background: #fff; color: #302b35; box-shadow: 0 28px 90px rgba(15, 18, 24, .34); font-family: var(--esm-member-popup-body-font, inherit); }
.esm-member-dialog[open] { animation: esm-dialog-enter .2s ease-out; }
.esm-member-dialog::backdrop { background: rgba(15, 18, 24, .7); backdrop-filter: blur(4px); }
.esm-member-dialog-shell { display: flex; max-height: calc(100dvh - 32px); flex-direction: column; overflow: hidden; }
.esm-member-dialog-header { position: relative; flex: 0 0 auto; padding: 30px 76px 28px 34px; overflow: hidden; background-color: var(--esm-member-popup-header-start, #2f1c59); background-image: linear-gradient(135deg, rgba(var(--esm-member-popup-header-start-rgb, 47, 28, 89), var(--esm-member-popup-header-overlay-opacity, 1)), rgba(var(--esm-member-popup-header-end-rgb, 105, 72, 169), var(--esm-member-popup-header-overlay-opacity, 1))), var(--esm-member-popup-header-image, none); background-position: center; background-repeat: no-repeat; background-size: cover; color: var(--esm-member-popup-header-text, #fff); }
.esm-member-dialog-header::after { position: absolute; right: -44px; bottom: -72px; width: 190px; height: 190px; border: 1px solid currentColor; border-radius: 50%; content: ''; opacity: .12; pointer-events: none; }
.esm-member-dialog button.esm-member-dialog-close { position: absolute; z-index: 2; top: 17px; right: 18px; display: grid; width: 42px; height: 42px; min-width: 42px; padding: 0; place-content: center; border: 1px solid var(--esm-member-popup-close-border, #fff) !important; border-radius: 50%; background-color: var(--esm-member-popup-close-background, #fff) !important; background-image: none !important; color: var(--esm-member-popup-close-icon, #35205f) !important; box-shadow: 0 4px 14px rgba(18, 12, 29, .2) !important; font: inherit; font-size: 27px; line-height: 1; text-shadow: none; cursor: pointer; }
.esm-member-dialog button.esm-member-dialog-close:hover, .esm-member-dialog button.esm-member-dialog-close:focus-visible { border-color: var(--esm-member-popup-close-border, #fff) !important; background-color: var(--esm-member-popup-close-hover, #f4f0fa) !important; background-image: none !important; color: var(--esm-member-popup-close-icon, #35205f) !important; }
.esm-member-dialog button.esm-member-dialog-close:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.esm-member-dialog-close span { display: block; margin-top: -2px; }
.esm-member-dialog-kicker { position: relative; z-index: 1; display: inline-flex; width: fit-content; margin: 0 0 13px; padding: 6px 10px; border: 1px solid currentColor; border-radius: 999px; background: rgba(255, 255, 255, .1); color: inherit; font-size: .78rem; font-weight: 800; letter-spacing: .085em; line-height: 1.2; text-transform: uppercase; opacity: .92; }
.esm-member-dialog #esm-member-dialog-title { position: relative; z-index: 1; margin: 0; color: inherit; font-family: var(--esm-member-popup-heading-font, inherit); font-size: clamp(1.65rem, 4vw, 2.35rem); line-height: 1.14; overflow-wrap: anywhere; }
.esm-member-dialog-subtitle { position: relative; z-index: 1; display: grid; gap: 3px; margin: 10px 0 0; color: inherit; font-size: .96rem; line-height: 1.5; text-align: center; opacity: .88; }
.esm-member-dialog-subtitle:empty { display: none; }
.esm-member-dialog-jobs,
.esm-member-dialog-sectors { display: block; width: 100%; overflow-wrap: anywhere; }
.esm-member-dialog-body { min-height: 120px; padding: 28px 34px 32px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
.esm-member-dialog-status { margin: 0; color: #625c69; line-height: 1.55; }
.esm-member-dialog-status:empty { display: none; }
.esm-member-dialog-status.is-quota { display: flex; align-items: center; flex-direction: column; gap: 14px; text-align: center; }
.esm-member-dialog-status .esm-member-dialog-quota-icon { width: 54px; height: 54px; color: var(--esm-orange, #eb5c2b); font-size: 54px; line-height: 1; }
.esm-member-dialog-quota-message { white-space: pre-line; }
.esm-member-dialog-status.is-quota a { color: var(--esm-orange, #eb5c2b) !important; font-weight: 750; text-underline-offset: 2px; }
.esm-member-dialog-content[hidden] { display: none; }
.esm-member-dialog-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.esm-member-dialog-detail { min-width: 0; padding: 15px 16px; border: 1px solid var(--esm-member-popup-card-border, #e2dce9); border-radius: 12px; background: var(--esm-member-popup-card-background, #faf8fc); color: var(--esm-member-popup-card-text, #211c25); }
.esm-member-dialog-detail.is-featured { grid-column: 1 / -1; padding: 20px 21px; }
.esm-member-dialog-detail dt { margin: 0 0 7px; color: inherit; font-size: .76rem; font-weight: 850; letter-spacing: .075em; line-height: 1.3; text-transform: uppercase; opacity: .9; }
.esm-member-dialog-detail dd { margin: 0; color: inherit; line-height: 1.55; overflow-wrap: anywhere; white-space: pre-line; }
.esm-member-dialog-detail.is-featured dd { font-size: 1rem; line-height: 1.72; }
.esm-member-dialog .esm-member-dialog-detail a { color: var(--esm-member-popup-link, #e65c00) !important; font-weight: 750; text-decoration-color: currentColor !important; text-underline-offset: 3px; }
.esm-member-dialog .esm-member-dialog-detail a:hover, .esm-member-dialog .esm-member-dialog-detail a:focus-visible { color: var(--esm-member-popup-link, #e65c00) !important; text-decoration-color: currentColor !important; }
.esm-member-dialog-detail a:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; border-radius: 2px; }
.esm-member-dialog-biography { margin-top: 24px; padding-top: 22px; border-top: 1px solid #e5e0e9; }
.esm-member-dialog-biography h3 { margin: 0 0 10px; color: var(--esm-member-popup-link, #e65c00); font-family: var(--esm-member-popup-heading-font, inherit); font-size: 1.08rem; }
.esm-member-dialog-biography p, .esm-member-dialog-empty { margin: 0; color: #554f5b; line-height: 1.72; overflow-wrap: anywhere; white-space: pre-line; }

.esm-profile-form .form-row { margin-bottom: 18px; }
.esm-profile-section { min-width: 0; margin: 24px 0; padding: clamp(18px, 3vw, 24px); border: 1px solid var(--esm-border); border-top: 3px solid var(--esm-orange); border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(56, 35, 103, .06); }
.esm-profile-section legend { max-width: calc(100% - 20px); padding: 0 10px; color: var(--esm-purple-dark); font-size: 1.15rem; font-weight: 800; line-height: 1.3; }
.esm-profile-section > .description { margin: 3px 0 20px; padding-bottom: 15px; border-bottom: 1px solid #eee9f2; color: #68616e; line-height: 1.55; }
.esm-profile-section > .form-row:last-child { margin-bottom: 0; }
.woocommerce-account .woocommerce-EditAccountForm { color: #352f3a; }
.woocommerce-account .woocommerce-EditAccountForm .esm-edit-account-details,
.woocommerce-account .woocommerce-EditAccountForm > fieldset { min-width: 0; margin: 24px 0; padding: clamp(18px, 3vw, 24px) !important; border: 1px solid #e3dfec !important; border-top: 3px solid #eb5c2b !important; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(56, 35, 103, .06); }
.woocommerce-account .woocommerce-EditAccountForm .esm-edit-account-details > legend,
.woocommerce-account .woocommerce-EditAccountForm > fieldset > legend { max-width: calc(100% - 20px); padding: 0 10px !important; color: #382367 !important; font-size: 1.15rem; font-weight: 800 !important; line-height: 1.3; }
.woocommerce-account .woocommerce-EditAccountForm .form-row { margin-bottom: 18px; }
.woocommerce-account .woocommerce-EditAccountForm label { display: block; margin-bottom: 7px; color: #382367; font-size: 1rem; font-weight: 700; line-height: 1.4; }
.woocommerce-account .woocommerce-EditAccountForm input.input-text { width: 100%; min-height: 50px; box-sizing: border-box; padding: 10px 14px !important; border: 1px solid #bcb4c9 !important; border-radius: 9px !important; background: #fff !important; color: #352f3a !important; box-shadow: 0 2px 6px rgba(56, 35, 103, .06) !important; font-size: 1rem !important; line-height: 1.35 !important; transition: border-color .16s ease, box-shadow .16s ease; }
.woocommerce-account .woocommerce-EditAccountForm input.input-text:hover { border-color: #8f819f !important; }
.woocommerce-account .woocommerce-EditAccountForm input.input-text:focus { border-color: #eb5c2b !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(235, 92, 43, .16) !important; }
.woocommerce-account .woocommerce-EditAccountForm #account_display_name_description { display: block; margin-top: 7px; color: #68616e; font-size: .9rem; line-height: 1.5; }
.woocommerce-account .woocommerce-EditAccountForm > p:last-of-type { display: flex; justify-content: flex-end; margin: 26px 0 0; }
.woocommerce-account .woocommerce-EditAccountForm button[name="save_account_details"] { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 12px 22px !important; border: 1px solid #eb5c2b !important; border-radius: 10px !important; background-color: #eb5c2b !important; background-image: none !important; color: #fff !important; box-shadow: 0 9px 22px rgba(235, 92, 43, .24) !important; font-size: 1rem !important; font-weight: 700 !important; line-height: 1.35 !important; text-shadow: none !important; transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.woocommerce-account .woocommerce-EditAccountForm button[name="save_account_details"]:hover,
.woocommerce-account .woocommerce-EditAccountForm button[name="save_account_details"]:focus-visible { border-color: #c94719 !important; background-color: #c94719 !important; color: #fff !important; box-shadow: 0 11px 25px rgba(201, 71, 25, .3) !important; transform: translateY(-1px); }
.woocommerce-account .woocommerce-EditAccountForm button[name="save_account_details"]:focus-visible { outline: 3px solid rgba(235, 92, 43, .28) !important; outline-offset: 3px; }
.esm-profile-activity-fields > .esm-directory-detail { clear: both; float: none !important; width: auto !important; margin: 0 0 12px !important; padding: 22px 20px 18px 24px !important; border: 1px solid #e5dfeb; border-left: 3px solid #efb49d; border-radius: 11px; background: #fcfbfd; transition: border-color .16s ease, box-shadow .16s ease; }
.esm-profile-activity-fields > .esm-directory-detail:last-child { margin-bottom: 0 !important; }
.esm-profile-activity-fields > .esm-directory-detail:focus-within { border-color: #e6a087; box-shadow: 0 0 0 3px rgba(235, 92, 43, .09); }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form .esm-profile-activity-fields > .esm-directory-detail > label,
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form .esm-profile-activity-fields > .esm-directory-detail > .esm-profile-field-label { display: block; margin: 0; padding: 6px 0 4px 8px; color: var(--esm-purple-dark) !important; font-size: .98rem !important; font-weight: 750 !important; line-height: 1.4; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form .esm-profile-activity-fields > .esm-directory-detail > select { display: block !important; width: 100% !important; min-height: 50px !important; margin: 9px 0 0 !important; padding: 10px 42px 10px 14px !important; border: 1px solid #bcb4c9 !important; border-radius: 9px !important; appearance: none !important; background-color: #fff !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.25 6 6.25 11 1.25' fill='none' stroke='%23c45121' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 17px center !important; background-size: 12px 8px !important; color: #352f3a !important; box-shadow: 0 2px 6px rgba(56, 35, 103, .06) !important; font-size: 1rem !important; font-weight: 400 !important; line-height: 1.35 !important; cursor: pointer; transition: border-color .16s ease, box-shadow .16s ease; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form .esm-profile-activity-fields > .esm-directory-detail > select:hover { border-color: #8f819f !important; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form .esm-profile-activity-fields > .esm-directory-detail > select:focus { border-color: var(--esm-orange) !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(235, 92, 43, .16) !important; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form .esm-profile-activity-fields > .esm-directory-detail > select option { background: #fff; color: #352f3a; font-weight: 400; }
.esm-profile-account-summary { margin: 4px 0 20px; padding: 16px; border: 1px solid #ddd5e9; border-radius: 11px; background: #f8f6fb; }
.esm-profile-account-summary-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; }
.esm-profile-account-summary h4 { margin: 0; color: var(--esm-purple-dark); font-size: 1rem; font-weight: 800; line-height: 1.35; }
.esm-profile-account-summary-header > span { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 9px; border-radius: 999px; background: #ece7f4; color: #5d4e70; font-size: .75rem; font-weight: 750; }
.esm-profile-account-summary > p { margin: 8px 0 14px; color: #68616e; font-size: .88rem; line-height: 1.5; }
.esm-profile-account-summary dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; }
.esm-profile-account-summary dl > div { min-width: 0; padding: 11px 12px; border: 1px solid #e5e0ec; border-radius: 8px; background: #fff; }
.esm-profile-account-summary dt { margin: 0 0 4px; color: #766d80; font-size: .69rem; font-weight: 800; letter-spacing: .055em; line-height: 1.3; text-transform: uppercase; }
.esm-profile-account-summary dd { margin: 0; color: #302b35; font-size: .92rem; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.esm-profile-form label { display: block; font-weight: 600; }
.esm-field-requirement { display: inline-flex; align-items: center; min-height: 22px; margin-left: 4px; padding: 2px 8px; border-radius: 999px; font-size: .68rem; font-weight: 800; letter-spacing: .035em; line-height: 1.2; text-transform: uppercase; vertical-align: middle; }
.esm-field-requirement.is-required { background: #fff0dc; color: #774c00; }
.esm-field-requirement.is-optional { background: #f0edf4; color: #68616e; }
.esm-profile-form input:not([type="checkbox"]), .esm-profile-form select, .esm-profile-form textarea { display: block; width: 100%; margin-top: 6px; }
.esm-profile-form .is-directory-disabled { opacity: .72; }
.esm-consent-row { margin: 22px 0 24px; padding: 4px 0; border: 0; background: transparent; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form label.esm-consent-label { display: flex !important; flex-direction: row !important; gap: 10px; align-items: flex-start !important; justify-content: flex-start !important; margin: 0; color: #48414d; font-size: 1rem !important; font-weight: 500; line-height: 1.5; text-align: left; cursor: pointer; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form label.esm-consent-label input[type="checkbox"] { position: static !important; display: grid !important; flex: 0 0 18px; float: none !important; clear: none !important; order: 0; width: 18px !important; min-width: 18px !important; max-width: 18px !important; height: 18px !important; min-height: 18px !important; max-height: 18px !important; margin: 3px 0 0 !important; padding: 0 !important; place-content: center; appearance: none; box-sizing: border-box; border: 1.5px solid #9a909f; border-radius: 4px; background: #fff; vertical-align: top; cursor: pointer; transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease; }
.esm-profile-form .esm-consent-label input[type="checkbox"]::before { width: 8px; height: 5px; border-bottom: 2px solid #fff; border-left: 2px solid #fff; content: ""; transform: translateY(-1px) rotate(-45deg) scale(0); transition: transform .14s ease; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form label.esm-consent-label input[type="checkbox"]:checked { border-color: var(--esm-orange) !important; background-color: var(--esm-orange) !important; }
.esm-profile-form .esm-consent-label input[type="checkbox"]:checked::before { transform: translateY(-1px) rotate(-45deg) scale(1); }
.esm-profile-form .esm-consent-label input[type="checkbox"]:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(235, 92, 43, .2); }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form label.esm-consent-label span { display: block; flex: 1 1 auto; order: 1; min-width: 0; }
.esm-circle-join-section .esm-consent-row { margin: 0 !important; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form .esm-circle-join-section label.esm-consent-label { color: #292331; font-weight: 700; }
.esm-circle-join-section .esm-consent-label a { color: var(--esm-purple-dark, #382367) !important; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.esm-directory-choice { margin: 28px 0 22px; padding: 22px 24px; border: 1px solid #efd7c6; border-left: 4px solid var(--esm-orange); border-radius: 12px; background: #fff8f2; }
.esm-directory-choice h3 { margin: 0 0 14px; color: var(--esm-purple-dark); font-size: 1.2rem; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile-form label.esm-directory-choice-label { display: grid !important; grid-template-columns: 20px minmax(0, 1fr); gap: 12px; align-items: center; justify-content: initial !important; margin: 0; color: #352f3a; font-size: 1rem !important; font-weight: 700; line-height: 1.45; text-align: left; cursor: pointer; }
.esm-profile-form .esm-directory-choice-label input[type="checkbox"] { display: grid !important; width: 20px !important; min-width: 20px; height: 20px !important; min-height: 20px; margin: 0 !important; padding: 0 !important; place-content: center; appearance: none; box-sizing: border-box; border: 2px solid #8d8293; border-radius: 4px; background-color: #fff !important; background-image: none !important; cursor: pointer; transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease; }
.esm-profile-form .esm-directory-choice-label input[type="checkbox"]::before { width: 6px; height: 10px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; content: ""; transform: translateY(-1px) rotate(45deg) scale(0); transition: transform .14s ease; }
.esm-profile-form .esm-directory-choice-label input[type="checkbox"]:checked { border-color: var(--esm-orange) !important; background-color: var(--esm-orange) !important; }
.esm-profile-form .esm-directory-choice-label input[type="checkbox"]:checked::before { transform: translateY(-1px) rotate(45deg) scale(1); }
.esm-profile-form .esm-directory-choice-label input[type="checkbox"]:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(235, 92, 43, .22); }
.esm-directory-choice-label a { font-weight: 750; text-underline-offset: 2px; }
.esm-directory-choice .description { margin: 11px 0 0 32px; color: #625c69; line-height: 1.55; }
.esm-directory-departure-note p { margin: 0; color: #4f4654; line-height: 1.65; }
.esm-directory-departure-note a { color: var(--esm-orange, #eb5c2b) !important; font-weight: 750; text-underline-offset: 2px; }
.esm-directory-current-status { display: flex; align-items: center; gap: 8px; margin: -2px 0 16px; padding: 9px 12px; border-radius: 8px; font-size: .92rem; font-weight: 700; line-height: 1.4; }
.esm-directory-current-status.is-visible { margin-top: 6px; background: #e8f6ed; color: #27623d; }
.esm-directory-current-status.is-pending { background: #fff1dc; color: #765018; }
.esm-directory-current-status.is-hidden { margin-top: 6px; background: #f0edf2; color: #5f5663; }
.esm-directory-current-status span { display: inline-grid; width: 20px; height: 20px; flex: 0 0 20px; place-items: center; border-radius: 50%; background: #347d4e; color: #fff; font-size: .76rem; line-height: 1; }
.esm-profile,
.esm-profile * { font-family: inherit !important; }
.esm-profile { font-size: 1rem; line-height: 1.5; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-form label,
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-field-label { font-size: 1rem !important; line-height: 1.45; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-form input:not([type="checkbox"]),
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-form select,
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-form textarea,
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-form button { font-size: 1rem !important; line-height: 1.45 !important; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-form .description,
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-multiselect-help,
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-multiselect-error { font-size: .9rem !important; line-height: 1.5; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-multiselect .esm-checkout-multiselect-label { font-size: .9rem; line-height: 1.4; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-multiselect .esm-checkout-multiselect-value { font-size: .95rem; font-weight: 400; line-height: 1.4; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-multiselect label.esm-checkout-multiselect-option { font-size: .95rem !important; font-weight: 400; line-height: 1.45; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-multiselect-recap-label,
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-multiselect-recap-list li { font-size: .9rem; line-height: 1.4; }
.esm-profile .esm-profile-account-summary > p { font-size: .9rem; }
.esm-profile .esm-profile-account-summary dt { font-size: .75rem; }
.esm-profile .esm-profile-account-summary dd { font-size: .95rem; }
.esm-profile .esm-field-requirement { font-size: .75rem; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-save-actions { display: flex; justify-content: flex-end; margin: 26px 0 0; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-form button.esm-profile-save-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 12px 22px !important; border: 1px solid var(--esm-orange) !important; border-radius: 10px !important; background-color: var(--esm-orange) !important; background-image: none !important; color: #fff !important; box-shadow: 0 9px 22px rgba(235, 92, 43, .24) !important; font-size: 1rem !important; font-weight: 700 !important; line-height: 1.35 !important; text-align: center; text-shadow: none !important; cursor: pointer; transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-form button.esm-profile-save-button:hover,
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-form button.esm-profile-save-button:focus-visible { border-color: #c94719 !important; background-color: #c94719 !important; background-image: none !important; color: #fff !important; box-shadow: 0 11px 25px rgba(201, 71, 25, .3) !important; transform: translateY(-1px); }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-form button.esm-profile-save-button:focus-visible { outline: 3px solid rgba(235, 92, 43, .28) !important; outline-offset: 3px; }
.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-form button.esm-profile-save-button:active { border-color: #ad3b14 !important; background-color: #ad3b14 !important; color: #fff !important; box-shadow: 0 5px 13px rgba(173, 59, 20, .25) !important; transform: translateY(0); }
.esm-invitation-profile { width: min(1100px, calc(100% - 32px)); margin: 0 auto; padding: clamp(18px, 3vw, 34px) 0 56px; color: #352f3a; }
.esm-invitation-header { position: relative; display: flex; min-height: 0; align-items: flex-start; justify-content: space-between; gap: 24px; margin: 0 0 22px; padding: clamp(24px, 4vw, 38px); overflow: hidden; border-radius: 14px; background-color: var(--esm-invitation-header-start, var(--esm-account-profile-header-start, #35205f)); background-image: linear-gradient(135deg, rgba(var(--esm-invitation-header-start-rgb, var(--esm-account-profile-header-start-rgb, 53, 32, 95)), var(--esm-invitation-header-overlay-opacity, var(--esm-account-profile-header-overlay-opacity, 1))), rgba(var(--esm-invitation-header-end-rgb, var(--esm-account-profile-header-end-rgb, 80, 53, 143)), var(--esm-invitation-header-overlay-opacity, var(--esm-account-profile-header-overlay-opacity, 1)))), var(--esm-invitation-header-image, var(--esm-account-profile-header-image, none)); background-position: center; background-repeat: no-repeat; background-size: cover; color: var(--esm-invitation-header-text, var(--esm-account-profile-header-text, #fff)); font-family: var(--esm-invitation-header-body-font, var(--esm-account-profile-body-font, inherit)); }
.esm-invitation-header-content { position: relative; z-index: 1; max-width: 760px; }
.esm-invitation-header-eyebrow { display: inline-flex; margin: 0 0 9px; color: inherit; font-size: .76rem; font-weight: 800; letter-spacing: .1em; line-height: 1.2; text-transform: uppercase; opacity: .9; }
.esm-invitation-header .esm-invitation-header-title { margin: 0 0 9px; color: inherit; font-family: var(--esm-invitation-header-heading-font, var(--esm-account-profile-heading-font, inherit)); font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 700; line-height: 1.08; }
.esm-invitation-header-description { margin: 0; color: inherit; font-size: 1rem; line-height: 1.6; opacity: .85; }
.esm-invitation-introduction { margin: 0 0 24px; padding: 18px 20px; border: 1px solid #efd7c6; border-left: 4px solid var(--esm-orange); border-radius: 11px; background: #fff8f2; color: #59463e; line-height: 1.6; }
.esm-invitation-introduction p { margin: 0; }
.esm-invitation-profile .woocommerce-error { margin: 0 0 22px; }
.esm-invitation-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
.esm-invitation-field-grid .form-row { min-width: 0; margin: 0; }
.esm-invitation-field-full { grid-column: 1 / -1; }
.esm-invitation-profile .esm-profile-section .form-row { float: none; width: auto; }
.esm-invitation-profile .esm-profile-section label,
.esm-invitation-profile .esm-profile-field-label { display: block; margin: 0 0 7px; color: var(--esm-purple-dark); font-size: 1rem; font-weight: 700; line-height: 1.45; }
.esm-invitation-profile .esm-profile-section input:not([type="checkbox"]),
.esm-invitation-profile .esm-profile-section select,
.esm-invitation-profile .esm-profile-section textarea { width: 100%; min-height: 50px; box-sizing: border-box; margin: 0; padding: 10px 14px !important; border: 1px solid #bcb4c9 !important; border-radius: 9px !important; background-color: #fff !important; color: #352f3a !important; box-shadow: 0 2px 6px rgba(56, 35, 103, .06) !important; font: inherit !important; font-size: 1rem !important; line-height: 1.35 !important; transition: border-color .16s ease, box-shadow .16s ease; }
.esm-invitation-profile .esm-profile-section input:not([type="checkbox"]):hover,
.esm-invitation-profile .esm-profile-section select:hover,
.esm-invitation-profile .esm-profile-section textarea:hover { border-color: #8f819f !important; }
.esm-invitation-profile .esm-profile-section input:not([type="checkbox"]):focus,
.esm-invitation-profile .esm-profile-section select:focus,
.esm-invitation-profile .esm-profile-section textarea:focus { border-color: var(--esm-orange) !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(235, 92, 43, .16) !important; }
.esm-invitation-profile .esm-profile-section input:disabled { background: #f4f1f6 !important; color: #68616e !important; cursor: not-allowed; }
.esm-invitation-password-field { position: relative; display: block; }
.esm-invitation-profile .esm-profile-section .esm-invitation-password-field input { padding-right: 52px !important; }
.esm-invitation-profile .esm-invitation-password-toggle { position: absolute; z-index: 2; top: 50%; right: 6px; display: inline-flex; width: 40px; min-width: 40px; height: 40px; min-height: 40px; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--esm-orange); box-shadow: none; cursor: pointer; transform: translateY(-50%); }
.esm-invitation-profile .esm-invitation-password-toggle:hover,
.esm-invitation-profile .esm-invitation-password-toggle:focus-visible { background: rgba(235, 92, 43, .1); color: #c94719; outline: 0; }
.esm-invitation-profile .esm-invitation-password-toggle:focus-visible { box-shadow: 0 0 0 3px rgba(235, 92, 43, .18); }
.esm-invitation-profile .esm-invitation-password-toggle svg { display: block; width: 22px; height: 22px; overflow: visible; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.esm-invitation-profile .esm-invitation-password-eye-slash { display: none; }
.esm-invitation-profile .esm-invitation-password-toggle.is-visible .esm-invitation-password-eye-slash { display: block; }
.esm-invitation-password-error { grid-column: 1 / -1; margin: 0; padding: 12px 14px; border-left: 4px solid #b32d2e; border-radius: 0 8px 8px 0; background: #fcf0f1; color: #8a2424; font-weight: 650; line-height: 1.5; }
.esm-invitation-profile .esm-profile-section .description,
.esm-invitation-profile .esm-multiselect-help { display: block; margin-top: 7px; color: #68616e; font-size: .9rem; line-height: 1.5; }
.esm-invitation-profile .esm-profile-activity-fields > .esm-directory-detail > label,
.esm-invitation-profile .esm-profile-activity-fields > .esm-directory-detail > .esm-profile-field-label { padding: 6px 0 4px 8px; }
.esm-invitation-profile .esm-profile-activity-fields > .esm-directory-detail > .esm-multiselect-help { margin: 0; padding: 0 0 3px 8px; }
.esm-invitation-profile .esm-profile-activity-fields > .esm-directory-detail > select { display: block !important; margin-top: 9px !important; padding-right: 42px !important; appearance: none !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.25 6 6.25 11 1.25' fill='none' stroke='%23c45121' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 17px center !important; background-size: 12px 8px !important; }
.esm-invitation-profile .esm-profile-activity-fields > .esm-directory-detail > select[multiple] { min-height: 174px; padding-right: 14px !important; appearance: auto !important; background-image: none !important; }
.esm-invitation-profile .esm-profile-multiselect-recap-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.esm-invitation-profile .esm-profile-multiselect-recap-list li { margin: 0; padding: 5px 9px; border: 1px solid #efc1ac; border-radius: 999px; background: #fce9df; color: #743117; font-size: .9rem; font-weight: 650; line-height: 1.4; }
.esm-invitation-profile .esm-profile-multiselect .esm-checkout-multiselect-label { font-size: .9rem; line-height: 1.4; }
.esm-invitation-profile .esm-profile-multiselect .esm-checkout-multiselect-value { font-size: .95rem; font-weight: 400; line-height: 1.4; }
.esm-invitation-profile .esm-profile-multiselect label.esm-checkout-multiselect-option { display: flex !important; flex-direction: row !important; align-items: flex-start !important; gap: 10px; margin: 0; padding: 9px 10px; color: #302c29; font-size: .95rem !important; font-weight: 400; line-height: 1.45; cursor: pointer; }
.esm-invitation-profile .esm-profile-multiselect label.esm-checkout-multiselect-option:hover { background: #fff3eb; }
.esm-invitation-profile .esm-profile-multiselect-options input[type="checkbox"] { position: static !important; display: inline-block !important; width: 18px !important; min-width: 18px !important; max-width: 18px !important; height: 18px !important; min-height: 18px !important; max-height: 18px !important; margin: 1px 0 0 !important; padding: 0 !important; border: 0 !important; border-radius: 3px; background: #fff !important; box-shadow: none !important; accent-color: #c45121; appearance: auto !important; }
.esm-invitation-profile label.esm-consent-label { display: flex !important; flex-direction: row !important; gap: 10px; align-items: flex-start !important; margin: 0; color: #48414d; font-size: 1rem; font-weight: 500; line-height: 1.55; cursor: pointer; }
.esm-invitation-profile label.esm-consent-label input[type="checkbox"] { position: static !important; display: grid !important; flex: 0 0 18px; width: 18px !important; min-width: 18px !important; height: 18px !important; min-height: 18px !important; margin: 3px 0 0 !important; padding: 0 !important; place-content: center; -webkit-appearance: none !important; appearance: none !important; box-sizing: border-box; border: 1.5px solid #9a909f !important; border-radius: 4px; background-color: #fff !important; background-image: none !important; box-shadow: none !important; accent-color: var(--esm-orange, #eb5c2b) !important; cursor: pointer; }
.esm-invitation-profile label.esm-consent-label input[type="checkbox"]::before { display: block !important; width: 8px; height: 5px; border: 0; border-bottom: 2px solid #fff; border-left: 2px solid #fff; content: "" !important; transform: translateY(-1px) rotate(-45deg) scale(0); transition: transform .14s ease; }
.esm-invitation-profile label.esm-consent-label input[type="checkbox"]:checked { border-color: var(--esm-orange, #eb5c2b) !important; background: var(--esm-orange, #eb5c2b) !important; }
.esm-invitation-profile label.esm-consent-label input[type="checkbox"]:checked::before { border-color: #fff !important; transform: translateY(-1px) rotate(-45deg) scale(1) !important; }
.esm-invitation-profile label.esm-consent-label input[type="checkbox"]:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(235, 92, 43, .2); }
.esm-invitation-profile label.esm-consent-label span { display: block; flex: 1 1 auto; min-width: 0; }
.esm-invitation-profile label.esm-consent-label a { color: var(--esm-orange); font-weight: 750; text-underline-offset: 2px; }
.esm-invitation-profile .esm-profile-save-actions { display: flex; justify-content: flex-end; margin: 26px 0 0; }
.esm-invitation-profile .esm-profile-form button.esm-profile-save-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 12px 22px !important; border: 1px solid var(--esm-orange) !important; border-radius: 10px !important; background: var(--esm-orange) !important; color: #fff !important; box-shadow: 0 9px 22px rgba(235, 92, 43, .24) !important; font-size: 1rem !important; font-weight: 700 !important; line-height: 1.35 !important; text-align: center; text-shadow: none !important; cursor: pointer; transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.esm-invitation-profile .esm-profile-form button.esm-profile-save-button:hover,
.esm-invitation-profile .esm-profile-form button.esm-profile-save-button:focus-visible { border-color: #c94719 !important; background: #c94719 !important; color: #fff !important; box-shadow: 0 11px 25px rgba(201, 71, 25, .3) !important; transform: translateY(-1px); }
.esm-invitation-profile .esm-profile-form button.esm-profile-save-button:focus-visible { outline: 3px solid rgba(235, 92, 43, .28) !important; outline-offset: 3px; }
.esm-invitation-state-page { display: grid; width: min(920px, calc(100% - 32px)); min-height: clamp(430px, 58vh, 590px); margin: 0 auto; padding: clamp(36px, 7vw, 78px) 0; place-items: center; }
.esm-invitation-state-card { width: 100%; box-sizing: border-box; padding: clamp(32px, 6vw, 58px); border: 1px solid #e3ddeb; border-top: 4px solid var(--esm-orange, #eb5c2b); border-radius: 18px; background: linear-gradient(145deg, #fff 0%, #fcf9ff 100%); color: #433b48; text-align: center; }
.esm-invitation-state-icon { display: inline-grid; width: 72px; height: 72px; margin-bottom: 20px; place-items: center; border-radius: 50%; background: #fff0e9; color: var(--esm-orange, #eb5c2b); }
.esm-invitation-state-icon svg { display: block; width: 38px; height: 38px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.esm-invitation-state-icon .esm-invitation-state-icon-dot { fill: currentColor; stroke: none; }
.esm-invitation-state-eyebrow { margin: 0 0 9px; color: var(--esm-orange, #eb5c2b); font-size: .76rem; font-weight: 850; letter-spacing: .11em; line-height: 1.3; text-transform: uppercase; }
.esm-invitation-state-card h1 { margin: 0; color: var(--esm-purple-dark, #35205f); font-family: inherit; font-size: clamp(1.75rem, 4vw, 2.65rem); font-weight: 780; letter-spacing: -.02em; line-height: 1.12; }
.esm-invitation-state-description { max-width: 700px; margin: 20px auto 0; color: #5d5662; font-size: 1rem; line-height: 1.7; }
.esm-invitation-state-help { max-width: 650px; margin: 17px auto 0; color: #403747; font-size: .96rem; font-weight: 650; line-height: 1.6; }
.esm-invitation-state-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 29px; }
.esm-invitation-state-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; box-sizing: border-box; padding: 11px 20px; border: 1px solid transparent; border-radius: 10px; font-size: .96rem; font-weight: 750; line-height: 1.35; text-decoration: none !important; transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.esm-invitation-state-button.is-primary,
.esm-invitation-state-button.is-primary:visited { border-color: var(--esm-orange, #eb5c2b); background: var(--esm-orange, #eb5c2b); color: #fff !important; }
.esm-invitation-state-button.is-primary:hover,
.esm-invitation-state-button.is-primary:focus-visible { border-color: #c94719; background: #c94719; color: #fff !important; transform: translateY(-1px); }
.esm-invitation-state-button.is-secondary,
.esm-invitation-state-button.is-secondary:visited { border-color: #cfc5dc; background: #fff; color: var(--esm-purple-dark, #35205f) !important; }
.esm-invitation-state-button.is-secondary:hover,
.esm-invitation-state-button.is-secondary:focus-visible { border-color: var(--esm-purple, #50358f); background: #f4f0fa; color: var(--esm-purple-dark, #35205f) !important; transform: translateY(-1px); }
.esm-invitation-state-button:focus-visible { outline: 3px solid rgba(235, 92, 43, .24); outline-offset: 3px; }
.esm-calendar-wrap { --fc-monarch-primary: var(--esm-agenda-control, #50358f); --fc-monarch-primary-foreground: var(--esm-agenda-control-text, #fff); --fc-monarch-primary-over: var(--esm-agenda-control-hover, #c94719); --fc-monarch-primary-down: var(--esm-agenda-control-hover, #c94719); --fc-monarch-selected: var(--esm-agenda-control, #50358f); --fc-monarch-selected-foreground: var(--esm-agenda-control-text, #fff); --fc-monarch-selected-over: var(--esm-agenda-control-hover, #c94719); --fc-monarch-selected-down: var(--esm-agenda-control-hover, #c94719); --fc-monarch-muted: var(--esm-agenda-control, #50358f); --fc-monarch-outline: var(--esm-agenda-control-hover, #c94719); width: min(1180px, 100%); margin-inline: auto; }
.esm-calendar-wrap .fc-monarch-AAA { border-radius: 0 !important; }
.esm-calendar-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 24px; padding: clamp(24px, 4vw, 38px); border-radius: 14px; background-color: var(--esm-agenda-header-start, #35205f); background-image: linear-gradient(135deg, rgba(var(--esm-agenda-header-start-rgb, 53, 32, 95), var(--esm-agenda-header-overlay-opacity, 1)), rgba(var(--esm-agenda-header-end-rgb, 80, 53, 143), var(--esm-agenda-header-overlay-opacity, 1))), var(--esm-agenda-header-image, none); background-position: center; background-repeat: no-repeat; background-size: cover; color: var(--esm-agenda-header-text, #fff); }
.esm-account-dashboard-header { --esm-account-header-start: var(--esm-account-dashboard-header-start, #35205f); --esm-account-header-start-rgb: var(--esm-account-dashboard-header-start-rgb, 53, 32, 95); --esm-account-header-end-rgb: var(--esm-account-dashboard-header-end-rgb, 80, 53, 143); --esm-account-header-opacity: var(--esm-account-dashboard-header-overlay-opacity, 1); --esm-account-header-image: var(--esm-account-dashboard-header-image, none); --esm-account-header-text: var(--esm-account-dashboard-header-text, #fff); --esm-account-header-heading-font: var(--esm-account-dashboard-heading-font, inherit); --esm-account-header-body-font: var(--esm-account-dashboard-body-font, inherit); }
.esm-account-profile-header { --esm-account-header-start: var(--esm-account-profile-header-start, #35205f); --esm-account-header-start-rgb: var(--esm-account-profile-header-start-rgb, 53, 32, 95); --esm-account-header-end-rgb: var(--esm-account-profile-header-end-rgb, 80, 53, 143); --esm-account-header-opacity: var(--esm-account-profile-header-overlay-opacity, 1); --esm-account-header-image: var(--esm-account-profile-header-image, none); --esm-account-header-text: var(--esm-account-profile-header-text, #fff); --esm-account-header-heading-font: var(--esm-account-profile-heading-font, inherit); --esm-account-header-body-font: var(--esm-account-profile-body-font, inherit); }
.esm-account-details-header { --esm-account-header-start: var(--esm-account-details-header-start, #35205f); --esm-account-header-start-rgb: var(--esm-account-details-header-start-rgb, 53, 32, 95); --esm-account-header-end-rgb: var(--esm-account-details-header-end-rgb, 80, 53, 143); --esm-account-header-opacity: var(--esm-account-details-header-overlay-opacity, 1); --esm-account-header-image: var(--esm-account-details-header-image, none); --esm-account-header-text: var(--esm-account-details-header-text, #fff); --esm-account-header-heading-font: var(--esm-account-details-heading-font, inherit); --esm-account-header-body-font: var(--esm-account-details-body-font, inherit); }
:is(.esm-account-dashboard-header, .esm-account-profile-header, .esm-account-details-header) { background-color: var(--esm-account-header-start); background-image: linear-gradient(135deg, rgba(var(--esm-account-header-start-rgb), var(--esm-account-header-opacity)), rgba(var(--esm-account-header-end-rgb), var(--esm-account-header-opacity))), var(--esm-account-header-image); background-position: center; background-repeat: no-repeat; background-size: cover; color: var(--esm-account-header-text); font-family: var(--esm-account-header-body-font); }
.esm-calendar-header:is(.esm-account-dashboard-header, .esm-account-profile-header, .esm-account-details-header) h1 { color: var(--esm-account-header-text); font-family: var(--esm-account-header-heading-font); }
.esm-calendar-header:is(.esm-account-dashboard-header, .esm-account-profile-header, .esm-account-details-header) p,
.esm-calendar-header:is(.esm-account-dashboard-header, .esm-account-profile-header, .esm-account-details-header) .esm-directory-eyebrow { color: var(--esm-account-header-text); }
.esm-calendar-header h1 { margin: 0 0 9px; color: var(--esm-agenda-header-text, #fff); font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.08; }
.esm-calendar-header p { max-width: 700px; margin: 0; color: var(--esm-agenda-header-text, #fff); line-height: 1.6; opacity: .85; }
.esm-calendar-header .esm-directory-eyebrow { display: inline-flex; max-width: none; margin: 0 0 9px; line-height: 1.2; opacity: .9; }
.esm-calendar-private { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid currentColor; border-radius: 999px; background: rgba(255,255,255,.1); color: var(--esm-agenda-header-text, #fff); font-size: .8rem; font-weight: 750; opacity: .9; }
.esm-calendar-private .dashicons { width: 17px; height: 17px; font-size: 17px; }
.esm-calendar-status { margin: 0 0 12px; color: #625c69; font-size: .9rem; }
.esm-calendar-wrap .fc { margin-top: 24px; padding: clamp(12px, 2vw, 24px); border: 1px solid var(--esm-border); border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(53, 36, 91, .08); }
.esm-calendar-wrap .fc-button-primary { border-color: var(--esm-agenda-control, #50358f); background: var(--esm-agenda-control, #50358f); color: var(--esm-agenda-control-text, #fff); }
.esm-calendar-wrap .fc-button-primary:hover, .esm-calendar-wrap .fc-button-primary:focus { border-color: var(--esm-agenda-control-hover, #c94719); background: var(--esm-agenda-control-hover, #c94719); color: var(--esm-agenda-control-hover-text, #fff); }
.esm-calendar-wrap #esm-calendar button:is([aria-selected], [aria-pressed]) { border-color: var(--esm-agenda-control, #50358f) !important; background-color: var(--esm-agenda-control, #50358f) !important; background-image: none !important; color: var(--esm-agenda-control-text, #fff) !important; transition: none; }
.esm-calendar-wrap #esm-calendar button:is([aria-selected], [aria-pressed]):not(:disabled):hover,
.esm-calendar-wrap #esm-calendar button:is([aria-selected], [aria-pressed]):not(:disabled):focus-visible,
.esm-calendar-wrap #esm-calendar button:is([aria-selected], [aria-pressed]):not(:disabled):active { border-color: var(--esm-agenda-control-hover, #c94719) !important; background-color: var(--esm-agenda-control-hover, #c94719) !important; background-image: none !important; color: var(--esm-agenda-control-hover-text, #fff) !important; }
.esm-calendar-wrap #esm-calendar button:is([aria-selected], [aria-pressed]):focus-visible { outline: 3px solid var(--esm-agenda-control-hover, #c94719); outline-offset: 2px; }
.esm-calendar-wrap #esm-calendar .esm-calendar-event,
.esm-calendar-wrap #esm-calendar .esm-calendar-event * { cursor: pointer !important; }
.esm-event-dialog { width: min(680px, calc(100% - 32px)); max-width: 680px; max-height: calc(100dvh - 32px); margin: auto; padding: 0; overflow: hidden; border: 3px solid #ffffff; border-radius: 22px; background: #fff; color: #30343b; box-shadow: 0 28px 90px rgba(15, 18, 24, .34); font-family: var(--esm-popup-body-font, inherit); }
.esm-event-dialog[open] { animation: esm-dialog-enter .2s ease-out; }
.esm-event-dialog::backdrop { background: rgba(15, 18, 24, .7); backdrop-filter: blur(4px); }
.esm-event-dialog-shell { display: flex; max-height: calc(100dvh - 32px); flex-direction: column; overflow: hidden; }
.esm-event-dialog-header { position: relative; isolation: isolate; flex: 0 0 auto; padding: 30px 34px 30px 34px; overflow: hidden; background-color: var(--esm-popup-header-start, #35205f); background-image: linear-gradient(135deg, rgba(var(--esm-popup-header-start-rgb, 53, 32, 95), var(--esm-popup-header-overlay-opacity, 1)), rgba(var(--esm-popup-header-end-rgb, 103, 69, 166), var(--esm-popup-header-overlay-opacity, 1))), var(--esm-popup-header-image, none); background-position: center; background-repeat: no-repeat; background-size: cover; color: var(--esm-popup-header-text, #fff); }
.esm-event-dialog-header::after { position: absolute; right: -44px; bottom: -72px; width: 190px; height: 190px; border: 1px solid currentColor; border-radius: 50%; content: ''; opacity: .12; pointer-events: none; }
.esm-event-dialog .esm-dialog-close { position: absolute; z-index: 2; top: 17px; right: 18px; display: inline-block; width: 42px; height: 42px; min-width: 42px; padding: 0; appearance: none; border: 2px solid var(--esm-popup-close-border, #fff); border-radius: 50%; background-color: var(--esm-popup-close-background, #35205f) !important; background-image: none !important; box-shadow: none !important; color: var(--esm-popup-close-icon, #fff); font: inherit; font-size: 27px; line-height: 1; text-shadow: 0 1px 1px var(--esm-popup-close-icon-outline, #211c25); cursor: pointer; opacity: .95; transition: border-color .16s ease, background-color .16s ease, color .16s ease, opacity .16s ease; }
.esm-dialog-close span { display: block; margin-top: -2px; }
.esm-event-dialog .esm-dialog-close:hover { border-color: var(--esm-popup-close-hover, #c94719); background-color: var(--esm-popup-close-hover, #c94719) !important; background-image: none !important; color: var(--esm-popup-close-hover-text, #fff); opacity: 1; }
.esm-dialog-close:focus-visible { outline: 3px solid var(--esm-popup-close-hover, #c94719); outline-offset: 2px; opacity: 1; }
.esm-event-kicker { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; margin: 0 0 20px; color: var(--esm-popup-header-text, #fff); font-size: .75rem; font-weight: 800; letter-spacing: .1em; line-height: 18px; text-transform: uppercase; opacity: .82; }
.esm-event-kicker .dashicons { display: inline-flex; flex: 0 0 18px; width: 18px; height: 18px; align-items: center; justify-content: center; font-size: 18px; line-height: 18px; vertical-align: middle; }
.esm-event-kicker .dashicons::before { display: block; line-height: 18px; }
.esm-event-heading { position: relative; z-index: 1; }
.esm-event-type { display: inline-flex; margin: 0 0 11px; padding: 6px 10px; border: 1px solid currentColor; border-radius: 999px; background: transparent; color: var(--esm-popup-header-text, #fff); font-size: .72rem; font-weight: 800; letter-spacing: .07em; line-height: 1.2; text-transform: uppercase; opacity: .9; }
.esm-event-type[hidden] { display: none; }
.esm-event-dialog #esm-event-dialog-title { margin: 15px 0 0; color: var(--esm-popup-header-text, #fff); font-family: var(--esm-popup-heading-font, inherit); font-size: clamp(1.65rem, 4vw, 2.35rem); font-weight: 750; letter-spacing: -.025em; line-height: 1.14; overflow-wrap: anywhere; }
.esm-event-dialog-body { min-height: 0; padding: 30px 34px 32px; overflow-x: hidden; overflow-y: auto; background: #fff; overscroll-behavior: contain; }
.esm-event-meta { display: flex; gap: 15px; align-items: flex-start; padding: 17px 18px; border: 1px solid #dfe3e8; border-radius: 14px; background: #f5f6f8; }
.esm-event-meta-icon { display: grid; flex: 0 0 40px; width: 40px; height: 40px; place-content: center; border-radius: 11px; background: #e9edf2; color: var(--esm-popup-action, #50358f); font-size: 21px; }
.esm-event-meta-label { display: block; margin: 1px 0 4px; color: #77707e; font-size: .71rem; font-weight: 800; letter-spacing: .075em; line-height: 1.3; text-transform: uppercase; }
.esm-event-date { margin: 0; color: #342c3d; font-size: .98rem; font-weight: 750; line-height: 1.5; }
.esm-event-content { margin-top: 28px; }
.esm-event-content[hidden] { display: none; }
.esm-event-content h3 { margin: 0 0 13px; color: var(--esm-purple-dark, #35205f) !important; font-family: var(--esm-popup-heading-font, inherit) !important; font-size: 1.12rem !important; font-weight: 750 !important; line-height: 1.35; }
.esm-event-description { color: #554f5b; font-size: .96rem; line-height: 1.72; overflow-wrap: anywhere; }
.esm-event-description > :first-child { margin-top: 0; }
.esm-event-description > :last-child { margin-bottom: 0; }
.esm-event-description p { margin: 0 0 14px; }
.esm-event-description :is(h2, h3, h4) { margin: 22px 0 9px; color: #3c2a57; line-height: 1.35; }
.esm-event-description ul, .esm-event-description ol { margin: 12px 0; padding-left: 22px; }
.esm-event-description li + li { margin-top: 6px; }
.esm-event-description a { color: var(--esm-purple, #50358f); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.esm-event-dialog-footer { display: flex; flex: 0 0 auto; gap: 18px; align-items: center; justify-content: space-between; padding: 21px 34px; border-top: 1px solid #dfe3e8; background: #f5f6f8; }
.esm-event-dialog-footer[hidden] { display: none; }
.esm-event-link { margin: 0; }
.esm-event-link .esm-primary-button, .esm-event-link .esm-primary-button:visited { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 9px; padding: 11px 18px; border-radius: 10px; background: #eb5c2b !important; color: #fff !important; box-shadow: 0 8px 20px rgba(235, 92, 43, .24); text-decoration: none; }
.esm-event-link .esm-primary-button:hover, .esm-event-link .esm-primary-button:focus, .esm-event-link .esm-primary-button:active { background: #c94719 !important; color: #fff !important; box-shadow: 0 9px 22px rgba(201, 71, 25, .23); }
.esm-event-link .esm-primary-button:focus-visible { outline: 3px solid #c94719; outline-offset: 3px; }
.esm-event-link .dashicons { width: 18px; height: 18px; font-size: 18px; }
@keyframes esm-dialog-enter { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
.esm-access-message { padding: 20px; border-left: 4px solid #50358f; background: #f6f3fb; }
.esm-directory-access-panel { width: min(760px, 100%); margin: 24px auto; padding: clamp(28px, 5vw, 48px); border: 1px solid #efd7c6; border-top: 5px solid var(--esm-orange, #eb5c2b); border-radius: 18px; background: linear-gradient(145deg, #fff 0%, #fff8f2 100%); box-shadow: 0 16px 38px rgba(201, 71, 25, .1); text-align: center; }
.esm-directory-access-icon { display: inline-grid; width: 58px; height: 58px; margin-bottom: 15px; place-items: center; border-radius: 50%; background: #fff0e8; color: var(--esm-orange, #eb5c2b); font-size: 29px; line-height: 58px; }
.esm-directory-access-eyebrow { margin: 0 0 7px; color: #c94719; font-size: .76rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.esm-directory-access-panel h2 { margin: 0; color: #482a20; font-size: clamp(1.55rem, 4vw, 2.15rem); line-height: 1.15; }
#esm-directory-access-title { font-family: inherit !important; }
.esm-directory-access-explanation { max-width: 610px; margin: 16px auto 0; color: #5f5764; font-size: 1rem; line-height: 1.65; }
.esm-directory-access-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 25px; }
.esm-directory-access-panel .esm-directory-access-action.button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; margin: 0; padding: 11px 18px; border-radius: 9px; font-weight: 750; line-height: 1.35; text-align: center; text-decoration: none !important; transition: background-color .17s ease, border-color .17s ease, color .17s ease, transform .17s ease, box-shadow .17s ease; }
.esm-directory-access-panel .esm-directory-access-action.is-primary,
.esm-directory-access-panel .esm-directory-access-action.is-primary:visited { border: 1px solid #c94719 !important; background: #c94719 !important; color: #fff !important; box-shadow: 0 8px 20px rgba(201, 71, 25, .2); }
.esm-directory-access-panel .esm-directory-access-action:hover,
.esm-directory-access-panel .esm-directory-access-action:focus-visible { transform: translateY(-1px); }
.esm-directory-access-panel .esm-directory-access-action.is-primary:hover,
.esm-directory-access-panel .esm-directory-access-action.is-primary:focus-visible { border-color: #a83a16 !important; background: #a83a16 !important; color: #fff !important; }
.esm-directory-access-panel .esm-directory-access-action:focus-visible { outline: 3px solid rgba(235, 92, 43, .28); outline-offset: 3px; }
body.woocommerce-account .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-MyAccount-content .esm-directory-access-panel a.button.esm-directory-access-action.is-primary:hover,
body.woocommerce-account .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-MyAccount-content .esm-directory-access-panel a.button.esm-directory-access-action.is-primary:focus,
body.woocommerce-account .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-MyAccount-content .esm-directory-access-panel a.button.esm-directory-access-action.is-primary:active { border-color: #a83a16 !important; background: #a83a16 !important; background-color: #a83a16 !important; background-image: none !important; color: #fff !important; opacity: 1; }
.esm-directory-access-charter { margin: 18px 0 0; color: #655a56; font-size: .92rem; line-height: 1.55; }
.esm-directory-access-panel .esm-directory-access-charter a:link,
.esm-directory-access-panel .esm-directory-access-charter a:visited { color: var(--esm-orange, #c94719) !important; font-weight: 750; text-underline-offset: 2px; }
.esm-directory-access-panel .esm-directory-access-charter a:hover,
.esm-directory-access-panel .esm-directory-access-charter a:focus-visible,
.esm-directory-access-panel .esm-directory-access-charter a:active { color: #a83a16 !important; }
.esm-honeypot { position: absolute !important; left: -9999px !important; }
.esm-charter-acceptance { max-width: 760px; }
.esm-charter-open { margin: 12px 0 20px !important; }
.esm-charter-form { padding: 20px; border: 1px solid #ddd4ef; border-radius: 12px; background: #faf8fe; }
.esm-charter-form label { display: flex; gap: 10px; align-items: flex-start; font-weight: 650; }
.esm-charter-form input { margin-top: 4px; }
.esm-charter-link-card { padding: 22px; border: 1px solid var(--esm-border); border-radius: 14px; background: #fff; }

@media (max-width: 980px) {
	.esm-directory-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.esm-directory-filters-heading,
	.esm-directory-filter-actions { grid-column: 1 / -1; }
	.esm-directory-filters > label { grid-column: span 1; }
	.esm-directory-filter-search { grid-column: 1 / -1 !important; }
	.esm-directory-filter-actions { justify-content: flex-end; }
}

@media (max-width: 640px) {
	.esm-invitation-profile { width: min(100% - 20px, 1100px); padding-top: 10px; }
	.esm-invitation-header { padding: 24px 22px; }
	.esm-invitation-field-grid { grid-template-columns: minmax(0, 1fr); }
	.esm-invitation-field-full { grid-column: auto; }
	.esm-invitation-profile .esm-profile-save-actions { display: block; }
	.esm-invitation-profile .esm-profile-form button.esm-profile-save-button { width: 100%; }
	.esm-invitation-state-page { width: min(100% - 20px, 920px); min-height: 0; padding: 28px 0 42px; }
	.esm-invitation-state-card { padding: 30px 20px; border-radius: 14px; }
	.esm-invitation-state-actions { align-items: stretch; flex-direction: column; }
	.esm-invitation-state-button { width: 100%; }
	.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-save-actions { display: block; }
	.woocommerce-account .woocommerce-MyAccount-content .esm-profile .esm-profile-form button.esm-profile-save-button { width: 100%; }
	.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
	.woocommerce-account .woocommerce-EditAccountForm .form-row-last { float: none; width: 100%; }
	.woocommerce-account .woocommerce-EditAccountForm > p:last-of-type { display: block; }
	.woocommerce-account .woocommerce-EditAccountForm button[name="save_account_details"] { width: 100%; }
	.esm-account-grid { grid-template-columns: minmax(0, 1fr); }
	.esm-account-card { min-width: 0; min-height: 0; grid-template-columns: 44px minmax(0, 1fr) 20px; padding: 18px; }
	.esm-account-card-copy { min-width: 0; overflow-wrap: anywhere; }
	.esm-account-card-icon { width: 44px; height: 44px; border-radius: 12px; font-size: 22px; }
	.esm-calendar-header { align-items: stretch; flex-direction: column; }
	.esm-calendar-private { align-self: flex-start; }
	.esm-event-dialog { width: calc(100% - 20px); max-height: calc(100dvh - 20px); border-radius: 17px; }
	.esm-event-dialog-shell { max-height: calc(100dvh - 20px); }
	.esm-event-dialog-header { padding: 24px 64px 24px 22px; }
	.esm-dialog-close { top: 13px; right: 13px; width: 39px; min-width: 39px; height: 39px; font-size: 25px; }
	.esm-event-kicker { margin-bottom: 16px; font-size: .69rem; }
	.esm-event-dialog #esm-event-dialog-title { font-size: clamp(1.45rem, 8vw, 1.85rem); }
	.esm-event-dialog-body { padding: 22px; }
	.esm-event-meta { gap: 12px; padding: 15px; }
	.esm-event-meta-icon { flex-basis: 36px; width: 36px; height: 36px; font-size: 19px; }
	.esm-event-content { margin-top: 23px; }
	.esm-event-dialog-footer { align-items: stretch; flex-direction: column; gap: 10px; padding: 18px 22px 20px; }
	.esm-event-link .esm-primary-button { width: 100%; }
	.esm-consent-row { padding: 4px 0; }
	.esm-profile-section { margin: 20px 0; padding: 17px 15px; border-radius: 12px; }
	.esm-profile-section legend { max-width: calc(100% - 12px); padding-inline: 7px; font-size: 1.05rem; }
	.esm-profile-activity-fields > .esm-directory-detail { padding: 17px 14px 15px 17px !important; }
	.esm-profile-account-summary dl { grid-template-columns: minmax(0, 1fr); }
	.esm-directory-choice { padding: 19px 18px; }
	.esm-directory-choice .description { margin-left: 32px; }
	.esm-directory-access-panel { margin: 14px auto; padding: 27px 20px; }
	.esm-directory-access-actions { align-items: stretch; flex-direction: column; }
	.esm-directory-access-panel .esm-directory-access-action.button { width: 100%; }
	.esm-member-dialog { width: calc(100% - 20px); max-height: calc(100dvh - 20px); border-radius: 17px; }
	.esm-member-dialog-shell { max-height: calc(100dvh - 20px); }
	.esm-member-dialog-header { padding: 24px 64px 24px 22px; }
	.esm-member-dialog-close { top: 13px; right: 13px; width: 39px; min-width: 39px; height: 39px; }
	.esm-member-dialog-body { padding: 22px; }
	.esm-member-dialog-details { grid-template-columns: 1fr; }
  .esm-directory { padding-top: 0; }
  .esm-directory-hero { min-height: 0; align-items: flex-start; flex-direction: column; padding: 22px 22px 38px; border-radius: 14px; }
  .esm-directory-hero-mark { display: none; }
  .esm-directory-hero h1 { font-size: clamp(1.8rem, 9vw, 2.45rem); }
  .esm-directory-hero p { font-size: .94rem; line-height: 1.45; }
	.esm-directory-filters { grid-template-columns: 1fr; gap: 14px; margin: 20px 0 0; padding: 26px 18px 21px; border-radius: 16px; }
	.esm-directory-filters-heading,
	.esm-directory-filter-actions,
	.esm-directory-filters > label { grid-column: 1; }
	.esm-directory-filters-heading { align-items: stretch; flex-direction: column; gap: 10px; }
	.esm-directory-filters-meta { justify-content: flex-start; text-align: left; }
	.esm-directory-filter-actions { align-items: stretch; }
	.esm-directory-filter-actions button { width: 100%; }
	.esm-directory-active-filters { align-items: flex-start; flex-direction: column; gap: 10px; margin-top: 0; }
	.esm-directory-active-filter-list { width: 100%; }
	.esm-directory-active-filter { max-width: 100%; }
	.esm-directory-results { margin: 20px 0 0; }
  .esm-member-list { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .esm-member-list table,
  .esm-member-list tbody,
  .esm-member-list tr,
  .esm-member-list td { display: block; width: 100%; }
  .esm-member-list thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .esm-member-list tbody { display: grid; gap: 13px; }
  .esm-member-list tr { overflow: hidden; border: 1px solid var(--esm-border); border-radius: 14px; background: #fff; box-shadow: 0 7px 22px rgba(53, 36, 91, .07); }
  .esm-member-list td { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 12px; padding: 10px 16px; border-top: 1px solid #f0edf5; }
	.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .esm-member-list tbody > tr:nth-child(odd) > td,
	.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .esm-member-list tbody > tr:nth-child(even) > td { padding: 10px 16px !important; border-top: 1px solid #f0edf5; }
  .esm-member-list td:first-child { padding-top: 16px; border-top: 0; }
  .esm-member-list td:last-child { padding-bottom: 16px; }
	.esm-member-list td:last-child .esm-member-profile-button { width: 100%; }
	.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .esm-member-list tbody > tr > td:first-child { padding-top: 16px !important; border-top: 0; }
	.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .esm-member-list tbody > tr > td:last-child { padding-bottom: 16px !important; }
  .esm-member-list td::before { content: attr(data-label); color: #766d80; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
  .esm-member-list-empty { display: block; padding: 26px 18px !important; }
  .esm-member-list-empty::before { content: none; }
  .esm-calendar-wrap .fc-header-toolbar { align-items: stretch; flex-direction: column; gap: 10px; }
  .esm-calendar-wrap .fc-toolbar-chunk { display: flex; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .esm-directory *, .esm-calendar-wrap * { scroll-behavior: auto !important; transition: none !important; }
	.esm-event-dialog[open], .esm-member-dialog[open] { animation: none; }
}

body.woocommerce-account .woocommerce-MyAccount-content :is(
	input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
	select,
	textarea
) { border-radius: 7px !important; }
