:root {
    --le-green: #214b3b;
    --le-green-dark: #17382d;
    --le-green-soft: #e7f1eb;
    --le-orange: #f4a313;
    --le-orange-dark: #da8610;
    --le-orange-soft: #fff2d4;
    --le-cream: #fbf5ea;
    --le-cream-deep: #f1e6d4;
    --le-brown: #5a2d1d;
    --le-text: #292725;
    --le-muted: #746f68;
    --le-border: #e6ddcf;
    --le-white: #fff;
    --le-danger: #a54432;
    --le-shadow: 0 12px 35px rgba(48, 39, 28, .08);
    --le-radius: 22px;
    --le-radius-sm: 14px;
}

.le-site-main,
.le-directory,
.le-profile-page,
.le-dashboard,
.le-apply {
    color: var(--le-text);
    font-family: inherit;
}

.le-site-main {
    background: linear-gradient(180deg, #fbf5ea 0, #fff 360px);
    padding: 28px 0 72px;
}

.le-container {
    width: min(1180px, calc(100% - 32px));
    margin-inline: auto;
}

.le-kicker,
.le-eyebrow {
    display: inline-block;
    color: var(--le-green);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .09em;
    line-height: 1.3;
    text-transform: uppercase;
}

.le-directory__intro {
    max-width: 760px;
    margin: 18px auto 30px;
    text-align: center;
}

.le-directory__intro h1,
.le-apply__intro h1,
.le-login-card h1 {
    color: var(--le-brown);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(36px, 7vw, 58px);
    line-height: 1.03;
    margin: 10px 0 14px;
}

.le-directory__intro p,
.le-apply__intro p,
.le-login-card > p {
    color: var(--le-muted);
    font-size: clamp(16px, 3.2vw, 19px);
    line-height: 1.7;
    margin: 0;
}

.le-search {
    background: rgba(255,255,255,.95);
    border: 1px solid var(--le-border);
    border-radius: var(--le-radius);
    box-shadow: var(--le-shadow);
    margin-bottom: 26px;
    padding: 18px;
}

.le-search__grid,
.le-form__grid {
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr;
}

.le-search label,
.le-form label,
.le-reply-form label {
    display: block;
    margin: 0;
}

.le-search label > span,
.le-form label > span,
.le-reply-form label > span,
.le-stars-input legend {
    color: var(--le-green-dark);
    display: block;
    font-size: 13px;
    font-weight: 750;
    margin: 0 0 7px;
}

.le-search input,
.le-search select,
.le-form input[type="text"],
.le-form input[type="email"],
.le-form input[type="password"],
.le-form input[type="tel"],
.le-form input[type="url"],
.le-form input[type="search"],
.le-form select,
.le-form textarea,
.le-reply-form textarea,
.le-copy-field input,
#loginform input[type="text"],
#loginform input[type="password"] {
    appearance: none;
    background: #fff;
    border: 1px solid #d9d0c4;
    border-radius: 12px;
    box-shadow: none;
    color: var(--le-text);
    font: inherit;
    min-height: 48px;
    outline: 0;
    padding: 11px 13px;
    transition: border-color .2s ease, box-shadow .2s ease;
    width: 100%;
}

.le-search input:focus,
.le-search select:focus,
.le-form input:focus,
.le-form select:focus,
.le-form textarea:focus,
.le-reply-form textarea:focus,
.le-copy-field input:focus,
#loginform input:focus {
    border-color: var(--le-green);
    box-shadow: 0 0 0 3px rgba(33,75,59,.12);
}

.le-search select,
.le-form select {
    background-image: linear-gradient(45deg, transparent 50%, var(--le-green) 50%), linear-gradient(135deg, var(--le-green) 50%, transparent 50%);
    background-position: calc(100% - 18px) 20px, calc(100% - 13px) 20px;
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
    padding-right: 36px;
}

.le-button,
#loginform input[type="submit"] {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    font-size: 15px;
    font-weight: 800;
    justify-content: center;
    line-height: 1.2;
    min-height: 48px;
    padding: 12px 22px;
    text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.le-button:hover,
#loginform input[type="submit"]:hover {
    transform: translateY(-1px);
}

.le-button--primary,
#loginform input[type="submit"] {
    background: var(--le-green);
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(33,75,59,.16);
}

.le-button--primary:hover,
#loginform input[type="submit"]:hover {
    background: var(--le-green-dark);
    box-shadow: 0 10px 24px rgba(33,75,59,.23);
}

.le-button--outline {
    background: #fff;
    border-color: var(--le-green);
    color: var(--le-green) !important;
}

.le-button--outline:hover {
    background: var(--le-green-soft);
}

.le-button--ghost {
    background: var(--le-orange-soft);
    color: #7a4800 !important;
}

.le-button--small {
    font-size: 13px;
    min-height: 40px;
    padding: 9px 16px;
}

.le-button--full {
    width: 100%;
}

.le-search__chips {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.le-chip {
    cursor: pointer;
    position: relative;
}

.le-chip input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.le-chip span,
.le-pill {
    align-items: center;
    background: var(--le-green-soft);
    border: 1px solid #d6e8dd;
    border-radius: 999px;
    color: var(--le-green);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    min-height: 34px;
    padding: 7px 13px;
}

.le-chip input:checked + span {
    background: var(--le-green);
    border-color: var(--le-green);
    color: #fff;
}

.le-clear,
.le-text-link,
.le-text-button {
    background: none;
    border: 0;
    color: var(--le-green) !important;
    cursor: pointer;
    font-size: 14px;
    font-weight: 750;
    padding: 0;
    text-decoration: underline;
    text-decoration-color: rgba(33,75,59,.25);
    text-underline-offset: 3px;
}

.le-results-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 0 2px 15px;
}

.le-results-head p {
    color: var(--le-muted);
    margin: 0;
}

.le-results-head strong {
    color: var(--le-text);
}

.le-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: 1fr;
}

.le-card {
    background: #fff;
    border: 1px solid var(--le-border);
    border-radius: 20px;
    box-shadow: 0 8px 24px rgba(52,41,28,.06);
    display: grid;
    grid-template-columns: 112px minmax(0,1fr);
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.le-card:hover {
    border-color: #d7c9b8;
    box-shadow: 0 15px 36px rgba(52,41,28,.1);
    transform: translateY(-2px);
}

.le-card__media {
    background: var(--le-cream-deep);
    display: block;
    min-height: 100%;
    overflow: hidden;
    position: relative;
}

.le-card__image {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.le-card__image--placeholder {
    align-items: center;
    color: var(--le-green);
    display: flex;
    font-family: Georgia, serif;
    font-size: 48px;
    justify-content: center;
}

.le-badge {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
    padding: 6px 10px;
}

.le-badge--verified {
    background: #fff3cd;
    color: #715006;
}

.le-card__media .le-badge {
    bottom: 8px;
    left: 8px;
    position: absolute;
}

.le-card__body {
    min-width: 0;
    padding: 15px 15px 14px;
}

.le-card h2 {
    color: var(--le-text);
    font-size: 19px;
    font-weight: 800;
    line-height: 1.18;
    margin: 0 0 7px;
}

.le-card h2 a,
.le-profile-articles h3 a,
.le-author-card h3 a {
    color: inherit !important;
    text-decoration: none;
}

.le-rating {
    align-items: center;
    color: var(--le-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    gap: 5px;
    line-height: 1.3;
}

.le-rating strong {
    color: var(--le-text);
}

.le-stars {
    color: #f4b400;
    font-size: 16px;
    letter-spacing: 1px;
    white-space: nowrap;
}

.le-rating--empty {
    color: #978f84;
    font-style: italic;
}

.le-card__job {
    color: var(--le-text);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    margin: 10px 0 3px;
}

.le-card__topics,
.le-card__city {
    color: var(--le-muted);
    font-size: 13px;
    line-height: 1.45;
    margin: 3px 0;
}

.le-card__modes {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 10px 0 12px;
}

.le-card .le-pill {
    font-size: 11px;
    min-height: 28px;
    padding: 5px 9px;
}

.le-pagination {
    margin: 34px 0 0;
}

.le-pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.le-pagination a,
.le-pagination span {
    align-items: center;
    background: #fff;
    border: 1px solid var(--le-border);
    border-radius: 10px;
    color: var(--le-green);
    display: inline-flex;
    font-weight: 750;
    justify-content: center;
    min-height: 42px;
    min-width: 42px;
    padding: 8px 12px;
    text-decoration: none;
}

.le-pagination .current {
    background: var(--le-green);
    border-color: var(--le-green);
    color: #fff;
}

.le-empty,
.le-notice {
    border-radius: var(--le-radius-sm);
    padding: 20px;
}

.le-empty {
    background: #fff;
    border: 1px dashed #d7c9b8;
    text-align: center;
}

.le-empty h2,
.le-empty h3 {
    color: var(--le-brown);
    margin: 0 0 8px;
}

.le-empty p {
    color: var(--le-muted);
    margin: 0;
}

.le-notice {
    border: 1px solid transparent;
    line-height: 1.55;
    margin: 0 0 18px;
}

.le-notice--success {
    background: #e8f5ec;
    border-color: #c9e6d2;
    color: #245a37;
}

.le-notice--warning {
    background: #fff5da;
    border-color: #f1d890;
    color: #735713;
}

.le-notice--info {
    background: #eef5f1;
    border-color: #d1e2d8;
    color: var(--le-green-dark);
}

/* Profile */
.le-breadcrumbs {
    align-items: center;
    color: var(--le-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    gap: 7px;
    margin: 0 0 18px;
}

.le-breadcrumbs a {
    color: var(--le-green) !important;
    text-decoration: none;
}

.le-profile-hero {
    background: #fff;
    border: 1px solid var(--le-border);
    border-radius: 26px;
    box-shadow: var(--le-shadow);
    display: grid;
    gap: 22px;
    overflow: hidden;
    padding: 18px;
}

.le-profile-hero__photo {
    aspect-ratio: 4/3;
    background: var(--le-cream-deep);
    border-radius: 18px;
    overflow: hidden;
}

.le-profile-photo {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    width: 100%;
}

.le-profile-photo--placeholder {
    align-items: center;
    color: var(--le-green);
    display: flex;
    font-family: Georgia, serif;
    font-size: 76px;
    justify-content: center;
}

.le-profile-hero__content {
    align-self: center;
}

.le-profile-hero__content > .le-badge {
    margin-bottom: 10px;
}

.le-profile h1 {
    color: var(--le-brown);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(34px, 7vw, 54px);
    line-height: 1.05;
    margin: 0 0 8px;
}

.le-profile-job {
    color: var(--le-text);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.35;
    margin: 0 0 3px;
}

.le-profile-credentials {
    color: var(--le-muted);
    font-size: 14px;
    margin: 0 0 10px;
}

.le-rating--link {
    color: inherit !important;
    margin: 8px 0 12px;
    text-decoration: none;
    width: fit-content;
}

.le-profile-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 16px;
}

.le-pill--location {
    background: var(--le-orange-soft);
    border-color: #f5d79f;
    color: #7b4d08;
}

.le-profile-lead {
    color: #514c46;
    font-size: 16px;
    line-height: 1.7;
    margin: 0 0 18px;
}

.le-profile-actions {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.le-profile-layout {
    display: grid;
    gap: 22px;
    margin-top: 22px;
}

.le-profile-main,
.le-profile-sidebar {
    min-width: 0;
}

.le-profile-section,
.le-contact-card,
.le-social-card,
.le-partner-note {
    background: #fff;
    border: 1px solid var(--le-border);
    border-radius: var(--le-radius);
    box-shadow: 0 8px 26px rgba(52,41,28,.05);
    margin-bottom: 18px;
    padding: 22px;
}

.le-profile-section h2,
.le-contact-card h2,
.le-dashboard-title h2,
.le-dashboard-card h3,
.le-social-card h3 {
    color: var(--le-brown);
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 700;
    line-height: 1.12;
}

.le-profile-section h2,
.le-contact-card h2 {
    font-size: clamp(27px, 5vw, 36px);
    margin: 8px 0 18px;
}

.le-prose {
    color: #46423d;
    font-size: 16px;
    line-height: 1.78;
}

.le-prose > :first-child {
    margin-top: 0;
}

.le-prose > :last-child {
    margin-bottom: 0;
}

.le-specialty-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.le-specialty-grid a {
    background: var(--le-cream);
    border: 1px solid var(--le-border);
    border-radius: 999px;
    color: var(--le-green) !important;
    font-size: 14px;
    font-weight: 750;
    padding: 9px 13px;
    text-decoration: none;
}

.le-contact-card {
    margin-bottom: 16px;
}

.le-contact-card dl {
    margin: 0 0 18px;
}

.le-contact-card dl div {
    border-bottom: 1px solid #eee6da;
    padding: 12px 0;
}

.le-contact-card dl div:last-child {
    border-bottom: 0;
}

.le-contact-card dt {
    color: var(--le-muted);
    font-size: 12px;
    font-weight: 750;
    margin-bottom: 3px;
    text-transform: uppercase;
}

.le-contact-card dd {
    color: var(--le-text);
    font-size: 15px;
    font-weight: 650;
    margin: 0;
    overflow-wrap: anywhere;
}

.le-contact-card dd a {
    color: var(--le-green) !important;
}

.le-contact-disclaimer,
.le-partner-note p,
.le-muted {
    color: var(--le-muted);
    font-size: 13px;
    line-height: 1.55;
}

.le-contact-disclaimer {
    margin: 13px 0 0;
}

.le-social-card h3 {
    font-size: 22px;
    margin: 0 0 12px;
}

.le-social-card > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.le-social-card a {
    background: var(--le-green-soft);
    border-radius: 999px;
    color: var(--le-green) !important;
    font-size: 13px;
    font-weight: 750;
    padding: 8px 12px;
    text-decoration: none;
}

.le-partner-note {
    background: var(--le-orange-soft);
    border-color: #efd7a8;
}

.le-partner-note strong {
    color: #70430a;
}

.le-partner-note p {
    color: #745c3a;
    margin: 5px 0 0;
}

.le-profile-articles {
    display: grid;
    gap: 14px;
}

.le-profile-articles article {
    border: 1px solid var(--le-border);
    border-radius: 16px;
    display: grid;
    grid-template-columns: 112px minmax(0,1fr);
    overflow: hidden;
}

.le-profile-articles__image {
    background: var(--le-cream-deep);
    display: block;
    min-height: 128px;
}

.le-profile-articles__image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.le-profile-articles__image span {
    align-items: center;
    color: var(--le-green);
    display: flex;
    font-weight: 800;
    height: 100%;
    justify-content: center;
}

.le-profile-articles article > div {
    padding: 13px;
}

.le-profile-articles time {
    color: var(--le-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.le-profile-articles h3 {
    color: var(--le-text);
    font-family: inherit;
    font-size: 16px;
    line-height: 1.3;
    margin: 5px 0;
}

.le-profile-articles p {
    color: var(--le-muted);
    display: none;
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

.le-mobile-contact-bar {
    align-items: center;
    background: rgba(255,255,255,.96);
    border-top: 1px solid var(--le-border);
    bottom: 0;
    box-shadow: 0 -8px 28px rgba(42,34,25,.12);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    left: 0;
    padding: 10px max(14px, env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-right));
    position: fixed;
    right: 0;
    z-index: 999;
}

.le-mobile-contact-bar > div {
    min-width: 0;
}

.le-mobile-contact-bar strong {
    display: block;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.le-mobile-contact-bar span {
    color: #996d00;
    font-size: 12px;
}

.le-mobile-contact-bar .le-button {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 9px 15px;
}

/* Reviews */
.le-section-heading {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 12px;
    justify-content: space-between;
}

.le-rating-summary {
    align-items: center;
    background: var(--le-cream);
    border-radius: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 14px;
}

.le-rating-summary > strong {
    color: var(--le-brown);
    font-family: Georgia, serif;
    font-size: 30px;
}

.le-rating-summary small {
    color: var(--le-muted);
}

.le-review-list {
    display: grid;
    gap: 13px;
}

.le-review {
    background: #fffdf8;
    border: 1px solid var(--le-border);
    border-radius: 16px;
    padding: 16px;
}

.le-review__top {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.le-review__top > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.le-review__top time {
    color: var(--le-muted);
    font-size: 12px;
    white-space: nowrap;
}

.le-review__content {
    color: #49453f;
    line-height: 1.65;
    margin-top: 12px;
}

.le-review__content > :last-child,
.le-review__reply > :last-child {
    margin-bottom: 0;
}

.le-verified-review {
    background: #e7f3ea;
    border-radius: 999px;
    color: #296140;
    display: inline-flex;
    font-size: 11px;
    font-weight: 750;
    margin-top: 10px;
    padding: 5px 9px;
}

.le-review__reply {
    background: var(--le-green-soft);
    border-left: 3px solid var(--le-green);
    border-radius: 8px;
    color: #385044;
    font-size: 14px;
    line-height: 1.6;
    margin-top: 14px;
    padding: 12px 13px;
}

.le-review__reply strong {
    display: block;
    margin-bottom: 3px;
}

.le-review-form-wrap {
    border-top: 1px solid var(--le-border);
    margin-top: 20px;
    padding-top: 18px;
}

.le-review-form-wrap summary {
    color: var(--le-green);
    cursor: pointer;
    font-weight: 800;
    list-style: none;
}

.le-review-form-wrap summary::-webkit-details-marker {
    display: none;
}

.le-review-form-wrap summary::after {
    content: '+';
    float: right;
    font-size: 24px;
}

.le-review-form-wrap[open] summary::after {
    content: '−';
}

.le-review-form {
    margin-top: 18px;
}

.le-form textarea,
.le-reply-form textarea {
    min-height: 110px;
    resize: vertical;
}

.le-form label small {
    color: var(--le-muted);
    display: block;
    font-size: 11px;
    margin-top: 5px;
}

.le-form__wide {
    grid-column: 1 / -1;
}

.le-consent {
    align-items: flex-start;
    display: flex !important;
    gap: 9px;
    margin: 16px 0 !important;
}

.le-consent input,
.le-checkbox-row input,
.le-taxonomy-checks input {
    accent-color: var(--le-green);
    flex: 0 0 auto;
    height: 18px;
    margin-top: 2px;
    width: 18px;
}

.le-consent span {
    color: var(--le-muted) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin: 0 !important;
}

.le-honeypot {
    left: -99999px !important;
    opacity: 0 !important;
    position: absolute !important;
}

.le-stars-input {
    border: 0;
    margin: 0;
    padding: 0;
}

.le-stars-input > div {
    direction: rtl;
    display: flex;
    justify-content: flex-end;
    width: fit-content;
}

.le-stars-input input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.le-stars-input label {
    color: #d8d1c6;
    cursor: pointer;
    font-size: 34px;
    line-height: 1;
    padding: 2px;
}

.le-stars-input input:checked ~ label,
.le-stars-input label:hover,
.le-stars-input label:hover ~ label {
    color: #f4b400;
}

/* Author card appended to articles */
.le-author-card {
    align-items: center;
    background: var(--le-cream);
    border: 1px solid var(--le-border);
    border-radius: 18px;
    display: grid;
    gap: 15px;
    grid-template-columns: 78px minmax(0,1fr);
    margin: 34px 0 10px;
    padding: 16px;
}

.le-author-card__photo,
.le-author-card__placeholder {
    background: var(--le-cream-deep);
    border-radius: 14px;
    height: 78px;
    object-fit: cover;
    width: 78px;
}

.le-author-card h3 {
    color: var(--le-brown);
    font-family: Georgia, serif;
    font-size: 22px;
    margin: 3px 0;
}

.le-author-card p {
    color: var(--le-muted);
    margin: 0 0 5px;
}

/* Apply */
.le-apply {
    margin: 0 auto;
    max-width: 920px;
}

.le-apply__intro {
    margin-bottom: 24px;
    text-align: center;
}

.le-apply__form {
    background: #fff;
    border: 1px solid var(--le-border);
    border-radius: var(--le-radius);
    box-shadow: var(--le-shadow);
    padding: 20px;
}

/* Dashboard */
.le-dashboard {
    margin: 0 auto;
    max-width: 1180px;
    padding: 10px 0 50px;
}

.le-dashboard__header {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.le-dashboard__header h1 {
    color: var(--le-brown);
    font-family: Georgia, serif;
    font-size: clamp(30px, 6vw, 44px);
    line-height: 1.05;
    margin: 6px 0 0;
}

.le-dashboard__layout {
    display: grid;
    gap: 18px;
}

.le-dashboard__nav {
    background: #fff;
    border: 1px solid var(--le-border);
    border-radius: 16px;
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 7px;
    position: sticky;
    scrollbar-width: none;
    top: 8px;
    z-index: 20;
}

.le-dashboard__nav::-webkit-scrollbar {
    display: none;
}

.le-dashboard__nav a {
    align-items: center;
    border-radius: 11px;
    color: var(--le-muted) !important;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 750;
    gap: 7px;
    min-height: 42px;
    padding: 9px 12px;
    text-decoration: none;
}

.le-dashboard__nav a.is-active {
    background: var(--le-green);
    color: #fff !important;
}

.le-dashboard__nav a span {
    font-size: 17px;
}

.le-dashboard__content {
    min-width: 0;
}

.le-dashboard-title {
    align-items: flex-start;
    display: flex;
    gap: 15px;
    justify-content: space-between;
    margin: 0 0 16px;
}

.le-dashboard-title h2 {
    font-size: clamp(27px, 5vw, 38px);
    margin: 5px 0 0;
}

.le-dashboard-card {
    background: #fff;
    border: 1px solid var(--le-border);
    border-radius: 18px;
    box-shadow: 0 7px 22px rgba(52,41,28,.05);
    margin-bottom: 16px;
    padding: 18px;
}

.le-dashboard-card h3 {
    font-size: 24px;
    margin: 0 0 10px;
}

.le-dashboard-card p {
    color: var(--le-muted);
    line-height: 1.65;
}

.le-dashboard-grid,
.le-stat-grid {
    display: grid;
    gap: 13px;
    grid-template-columns: 1fr;
}

.le-stat-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    margin-bottom: 16px;
}

.le-stat {
    background: linear-gradient(145deg, #fff 0%, #fbf5ea 100%);
    border: 1px solid var(--le-border);
    border-radius: 16px;
    padding: 15px;
}

.le-stat span,
.le-stat small {
    color: var(--le-muted);
    display: block;
    font-size: 12px;
}

.le-stat strong {
    color: var(--le-green);
    display: block;
    font-family: Georgia, serif;
    font-size: 30px;
    line-height: 1.1;
    margin: 4px 0;
}

.le-copy-field {
    display: flex;
    gap: 7px;
}

.le-copy-field input {
    min-width: 0;
}

.le-copy-field button {
    background: var(--le-orange);
    border: 0;
    border-radius: 11px;
    color: #3f2a0a;
    cursor: pointer;
    font-weight: 800;
    padding: 0 14px;
}

.le-profile-photo-field {
    align-items: center;
    display: grid;
    gap: 14px;
    grid-template-columns: 110px minmax(0,1fr);
    margin-bottom: 20px;
}

.le-profile-photo-preview {
    align-items: center;
    aspect-ratio: 1;
    background: var(--le-cream);
    border: 1px dashed #cdbfae;
    border-radius: 16px;
    color: var(--le-muted);
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.le-profile-photo-preview img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.le-checkbox-row,
.le-taxonomy-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-top: 16px;
}

.le-checkbox-row label,
.le-taxonomy-checks label {
    align-items: center;
    background: var(--le-cream);
    border: 1px solid var(--le-border);
    border-radius: 11px;
    display: inline-flex;
    font-size: 13px;
    font-weight: 650;
    gap: 7px;
    padding: 9px 11px;
}

.le-article-list {
    display: grid;
    gap: 12px;
}

.le-article-row {
    align-items: center;
    background: #fff;
    border: 1px solid var(--le-border);
    border-radius: 16px;
    display: grid;
    gap: 13px;
    grid-template-columns: 74px minmax(0,1fr);
    padding: 11px;
}

.le-article-row__thumb {
    align-items: center;
    background: var(--le-cream);
    border-radius: 11px;
    color: var(--le-muted);
    display: flex;
    height: 74px;
    justify-content: center;
    overflow: hidden;
}

.le-article-row__thumb img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.le-article-row__content {
    min-width: 0;
}

.le-article-row h3 {
    color: var(--le-text);
    font-size: 16px;
    line-height: 1.3;
    margin: 5px 0 3px;
}

.le-article-row p {
    color: var(--le-muted);
    font-size: 12px;
    margin: 0;
}

.le-article-row__actions {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 7px;
    grid-column: 1 / -1;
    padding-left: 87px;
}

.le-status {
    border-radius: 999px;
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    padding: 4px 8px;
    text-transform: uppercase;
}

.le-status--draft {
    background: #eeeae3;
    color: #635d54;
}

.le-status--pending {
    background: #fff0c4;
    color: #765508;
}

.le-status--publish {
    background: #e4f3e9;
    color: #25613a;
}

.le-reply-form {
    border-top: 1px solid var(--le-border);
    margin-top: 14px;
    padding-top: 13px;
}

.le-reply-form .le-button {
    margin-top: 9px;
}

.le-login-screen,
.le-dashboard--locked {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 560px;
}

.le-login-card,
.le-dashboard--locked .le-dashboard-card {
    max-width: 520px;
    padding: 26px;
    width: 100%;
}

#loginform p {
    margin: 0 0 14px;
}

#loginform label {
    color: var(--le-green-dark);
    display: block;
    font-size: 13px;
    font-weight: 750;
}

#loginform .login-remember label {
    align-items: center;
    display: flex;
    gap: 8px;
    font-weight: 600;
}

#loginform input[type="checkbox"] {
    accent-color: var(--le-green);
    height: 18px;
    width: 18px;
}

#loginform input[type="submit"] {
    width: 100%;
}

.le-login-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-top: 16px;
}

.le-login-links a {
    color: var(--le-green) !important;
    font-size: 13px;
    font-weight: 700;
}

.le-editor-loading {
    background: #fff;
    border: 1px solid var(--le-border);
    border-radius: 18px;
    color: var(--le-muted);
    padding: 40px 20px;
    text-align: center;
}

@media (min-width: 560px) {
    .le-search__grid,
    .le-form__grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .le-search__name {
        grid-column: 1 / -1;
    }

    .le-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .le-card {
        display: flex;
        flex-direction: column;
    }

    .le-card__media {
        aspect-ratio: 5/4;
        min-height: 0;
    }

    .le-card__body {
        display: flex;
        flex: 1;
        flex-direction: column;
        padding: 18px;
    }

    .le-card .le-button {
        margin-top: auto;
    }

    .le-profile-actions {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .le-section-heading {
        align-items: center;
        flex-direction: row;
    }

    .le-profile-articles p {
        display: block;
    }

    .le-stat-grid {
        grid-template-columns: repeat(4, minmax(0,1fr));
    }

    .le-dashboard-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .le-article-row {
        grid-template-columns: 82px minmax(0,1fr) auto;
    }

    .le-article-row__thumb {
        height: 82px;
    }

    .le-article-row__actions {
        align-items: flex-end;
        grid-column: auto;
        padding-left: 0;
    }
}

@media (min-width: 760px) {
    .le-site-main {
        padding-top: 42px;
    }

    .le-search {
        padding: 22px;
    }

    .le-search__grid {
        align-items: end;
        grid-template-columns: 1fr 1fr 1.3fr auto;
    }

    .le-search__name {
        grid-column: auto;
    }

    .le-search .le-button {
        min-width: 120px;
    }

    .le-profile-hero {
        grid-template-columns: minmax(260px, 36%) minmax(0,1fr);
        padding: 24px;
    }

    .le-profile-hero__photo {
        aspect-ratio: 4/5;
        max-height: 470px;
    }

    .le-profile-section,
    .le-contact-card,
    .le-social-card,
    .le-partner-note {
        padding: 28px;
    }

    .le-profile-articles {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .le-profile-articles article {
        display: block;
    }

    .le-profile-articles__image {
        aspect-ratio: 16/10;
        min-height: 0;
    }

    .le-apply__form {
        padding: 28px;
    }
}

@media (min-width: 980px) {
    .le-grid {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }

    .le-profile-layout {
        align-items: start;
        grid-template-columns: minmax(0,1fr) 330px;
    }

    .le-profile-sidebar {
        position: sticky;
        top: 24px;
    }

    .le-mobile-contact-bar {
        display: none;
    }

    .le-dashboard__layout {
        align-items: start;
        grid-template-columns: 220px minmax(0,1fr);
    }

    .le-dashboard__nav {
        display: flex;
        flex-direction: column;
        overflow: visible;
        padding: 9px;
        top: 22px;
    }

    .le-dashboard__nav a {
        width: 100%;
    }
}

@media (min-width: 1180px) {
    .le-grid {
        gap: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .le-button,
    .le-card,
    .le-search input,
    .le-search select,
    .le-form input,
    .le-form textarea {
        transition: none !important;
    }
}

/* Earnings and partner balance — v1.1 */
.le-balance-hero {
    align-items: flex-start;
    background:
        radial-gradient(circle at 88% 20%, rgba(255,255,255,.22), transparent 28%),
        linear-gradient(135deg, var(--le-green-dark), var(--le-green));
    border-radius: 22px;
    box-shadow: 0 16px 34px rgba(23,56,45,.18);
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 16px;
    overflow: hidden;
    padding: 22px;
    position: relative;
}

.le-balance-hero span,
.le-balance-hero small {
    display: block;
    opacity: .82;
}

.le-balance-hero span {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.le-balance-hero strong {
    display: block;
    font-family: Georgia, serif;
    font-size: clamp(32px, 8vw, 48px);
    line-height: 1.05;
    margin: 7px 0 5px;
}

.le-balance-hero .woocommerce-Price-amount,
.le-balance-grid .woocommerce-Price-amount,
.le-section-total .woocommerce-Price-amount,
.le-money-line .woocommerce-Price-amount {
    color: inherit;
}

.le-button--light {
    background: #fff !important;
    color: var(--le-green-dark) !important;
}

.le-money-line {
    color: var(--le-green) !important;
    font-family: Georgia, serif;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.15 !important;
    margin: 5px 0 8px !important;
}

.le-month-filter {
    align-items: flex-end;
    background: var(--le-cream);
    border: 1px solid var(--le-border);
    border-radius: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
    padding: 12px;
}

.le-month-filter label {
    color: var(--le-green-dark);
    display: grid;
    flex: 1 1 210px;
    font-size: 12px;
    font-weight: 800;
    gap: 5px;
}

.le-month-filter input {
    background: #fff;
    border: 1px solid var(--le-border);
    border-radius: 11px;
    min-height: 42px;
    padding: 8px 11px;
}

.le-balance-grid {
    display: grid;
    gap: 13px;
    grid-template-columns: 1fr;
    margin-bottom: 16px;
}

.le-balance-grid section {
    background: linear-gradient(145deg, #fff, var(--le-cream));
    border: 1px solid var(--le-border);
    border-radius: 18px;
    box-shadow: 0 7px 22px rgba(52,41,28,.05);
    padding: 18px;
}

.le-balance-grid span,
.le-balance-grid small,
.le-balance-grid b {
    display: block;
}

.le-balance-grid span {
    color: var(--le-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.le-balance-grid strong {
    color: var(--le-green);
    display: block;
    font-family: Georgia, serif;
    font-size: 30px;
    line-height: 1.1;
    margin: 7px 0;
}

.le-balance-grid small {
    color: var(--le-muted);
    margin-bottom: 6px;
}

.le-balance-grid b {
    color: var(--le-brown);
    font-size: 15px;
}

.le-section-heading {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 14px;
}

.le-section-heading h3 {
    margin-top: 5px;
}

.le-section-total {
    color: var(--le-green);
    font-family: Georgia, serif;
    font-size: 25px;
    white-space: nowrap;
}

.le-tier-progress {
    background: var(--le-green-soft);
    border-radius: 14px;
    margin: 0 0 16px;
    padding: 12px;
}

.le-tier-progress span {
    color: var(--le-green-dark);
    display: block;
    font-size: 13px;
    font-weight: 750;
    margin-bottom: 8px;
}

.le-tier-progress progress {
    accent-color: var(--le-green);
    height: 10px;
    width: 100%;
}

.le-code-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
    margin-bottom: 16px;
}

.le-code-grid > div {
    background: var(--le-orange-soft);
    border: 1px solid #f0d8a4;
    border-radius: 14px;
    padding: 13px;
}

.le-code-grid span,
.le-code-grid strong,
.le-code-grid small {
    display: block;
}

.le-code-grid span {
    color: var(--le-brown);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .04em;
}

.le-code-grid strong {
    color: var(--le-text);
    font-size: 17px;
    margin: 3px 0;
}

.le-code-grid small {
    color: var(--le-muted);
}

.le-data-table-wrap {
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--le-border);
    border-radius: 14px;
    overflow-x: auto;
}

.le-data-table {
    border-collapse: collapse;
    font-size: 13px;
    min-width: 690px;
    width: 100%;
}

.le-data-table th,
.le-data-table td {
    border-bottom: 1px solid var(--le-border);
    padding: 11px 12px;
    text-align: left;
    vertical-align: middle;
}

.le-data-table th {
    background: var(--le-cream);
    color: var(--le-green-dark);
    font-size: 11px;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.le-data-table tbody tr:last-child td {
    border-bottom: 0;
}

.le-data-table td:last-child {
    color: var(--le-green-dark);
}

.le-quota-card {
    background: linear-gradient(135deg, var(--le-green-soft), #fff);
    border: 1px solid #cfe0d6;
    border-radius: 16px;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0,1fr));
    margin-bottom: 14px;
    padding: 14px;
}

.le-quota-card.is-full {
    background: linear-gradient(135deg, #fff0e8, #fff);
    border-color: #edc6b5;
}

.le-quota-card span,
.le-quota-card strong {
    display: block;
}

.le-quota-card span {
    color: var(--le-muted);
    font-size: 11px;
    font-weight: 750;
    text-transform: uppercase;
}

.le-quota-card strong {
    color: var(--le-green-dark);
    font-size: 20px;
    margin-top: 3px;
}

.le-article-reward {
    color: var(--le-green-dark) !important;
    margin-top: 4px !important;
}

.le-empty--compact {
    min-height: 0;
    padding: 16px;
}

@media (min-width: 600px) {
    .le-balance-hero {
        align-items: center;
        flex-direction: row;
    }

    .le-balance-grid,
    .le-code-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 599px) {
    .le-balance-hero .le-button {
        width: 100%;
    }

    .le-section-total {
        font-size: 22px;
    }

    .le-quota-card {
        grid-template-columns: 1fr;
    }

    .le-month-filter .le-button {
        width: 100%;
    }
}


/* Partner dashboard layout and mobile fixes — v1.2 */
body.le-partner-dashboard-page {
    overflow-x: clip;
}

body.le-partner-dashboard-page .entry-title,
body.le-partner-dashboard-page .page-title,
body.le-partner-dashboard-page .entry-header > h1,
body.le-partner-dashboard-page main > article > header,
body.le-partner-dashboard-page .page-header {
    display: none !important;
}

/* A dedicated page shell keeps the dashboard independent from the active theme's content width. */
.le-dashboard-page-shell {
    background: linear-gradient(180deg, #fbf5ea 0, #fff 420px);
    box-sizing: border-box;
    display: block;
    min-height: 70vh;
    padding: 34px 16px 72px;
    width: 100%;
}

.le-dashboard-page-shell > .le-dashboard,
.le-dashboard {
    box-sizing: border-box;
    left: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1180px;
    position: static !important;
    right: auto !important;
    transform: none !important;
    width: 100%;
}

/* Gutenberg renders a full-page popover fallback. It must not block the site's header. */
body.le-partner-dashboard-page .components-popover__fallback-container {
    pointer-events: none !important;
}

body.le-partner-dashboard-page .components-popover,
body.le-partner-dashboard-page .components-dropdown__content,
body.le-partner-dashboard-page .components-modal__frame {
    pointer-events: auto !important;
}

.le-dashboard__intro { width: 100%; }
.le-dashboard__topline {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.le-dashboard__header h1 {
    overflow-wrap: normal;
    word-break: normal;
}

.le-dashboard-mobile-menu { display: none; }
.le-dashboard-card p,
.le-dashboard-card a,
.le-dashboard-card input,
.le-dashboard-card textarea { overflow-wrap: anywhere; }

.le-promo-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}
.le-promo-chip {
    background: var(--le-orange-soft);
    border: 1px solid #efd393;
    border-radius: 999px;
    color: var(--le-brown);
    display: inline-flex;
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .04em;
    padding: 7px 11px;
}

.le-editor-spinner {
    animation: le-spin .8s linear infinite;
    border: 3px solid #dfe9e3;
    border-top-color: var(--le-green);
    border-radius: 50%;
    display: block;
    height: 28px;
    margin: 0 auto 12px;
    width: 28px;
}
.le-editor-loading strong,
.le-editor-loading small { display: block; }
.le-editor-loading small { font-size: 12px; margin-top: 5px; }
@keyframes le-spin { to { transform: rotate(360deg); } }

@media (max-width: 979px) {
    .le-dashboard { padding-top: 0; }
    .le-dashboard__header { margin-bottom: 12px; }
    .le-dashboard__header h1 { font-size: clamp(28px, 7vw, 38px); }
    .le-dashboard__nav { display: none; }
    .le-dashboard-mobile-menu {
        background: #fff;
        border: 1px solid var(--le-border);
        border-radius: 16px;
        display: block;
        margin-bottom: 14px;
        overflow: hidden;
    }
    .le-dashboard-mobile-menu summary {
        align-items: center;
        color: var(--le-green-dark);
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        list-style: none;
        min-height: 52px;
        padding: 10px 14px;
    }
    .le-dashboard-mobile-menu summary::-webkit-details-marker { display: none; }
    .le-dashboard-mobile-menu summary::after { content: '⌄'; font-size: 20px; }
    .le-dashboard-mobile-menu[open] summary::after { transform: rotate(180deg); }
    .le-dashboard-mobile-menu summary span { color: var(--le-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
    .le-dashboard-mobile-menu summary strong { font-size: 14px; margin-left: auto; margin-right: 10px; }
    .le-dashboard-mobile-menu nav {
        border-top: 1px solid var(--le-border);
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 6px;
        padding: 8px;
    }
    .le-dashboard-mobile-menu nav a {
        align-items: center;
        border-radius: 10px;
        color: var(--le-muted) !important;
        display: flex;
        font-size: 12px;
        font-weight: 750;
        gap: 7px;
        min-height: 42px;
        padding: 8px 9px;
        text-decoration: none;
    }
    .le-dashboard-mobile-menu nav a.is-active { background: var(--le-green); color: #fff !important; }
}

@media (max-width: 559px) {
    .le-dashboard-page-shell { padding: 18px 11px 48px; }
    .le-dashboard {
        padding-bottom: 40px;
        width: min(100%, calc(100vw - 22px));
    }
    .le-dashboard__topline { align-items: flex-start; }
    .le-dashboard__header h1 {
        font-size: 28px;
        line-height: 1.08;
        margin-top: 10px;
    }
    .le-dashboard__topline .le-button { min-height: 40px; padding: 8px 14px; }
    .le-dashboard-title { display: block; }
    .le-dashboard-title .le-button { margin-top: 10px; width: 100%; }
    .le-dashboard-title h2 { font-size: 29px; line-height: 1.1; }
    .le-dashboard-card { border-radius: 16px; padding: 16px; }
    .le-dashboard-card h3 { font-size: 22px; line-height: 1.1; }
    .le-stat-grid { gap: 8px; }
    .le-stat { border-radius: 13px; min-width: 0; padding: 12px; }
    .le-stat strong { font-size: 25px; }
    .le-stat span, .le-stat small { font-size: 10px; }
    .le-balance-hero { border-radius: 17px; padding: 17px; }
    .le-balance-hero strong { font-size: 34px; }
    .le-balance-hero .le-button { width: 100%; }
    .le-copy-field { flex-direction: column; }
    .le-copy-field input { font-size: 12px; width: 100%; }
    .le-copy-field button { min-height: 44px; }
    .le-profile-photo-field { grid-template-columns: 82px minmax(0,1fr); }
    .le-checkbox-row, .le-taxonomy-checks { display: grid; grid-template-columns: 1fr; }
    .le-month-filter { align-items: stretch; flex-direction: column; }
    .le-month-filter .le-button { width: 100%; }
    .le-section-heading { display: block; }
    .le-section-total { display: block; margin-top: 8px; white-space: normal; }
    .le-quota-card { grid-template-columns: 1fr; }
    .le-article-row { grid-template-columns: 58px minmax(0,1fr); }
    .le-article-row__thumb { height: 58px; }
    .le-article-row__actions { padding-left: 71px; }
    .le-data-table-wrap { margin-left: -4px; margin-right: -4px; }
}

/* Theme compatibility and layout refresh — v1.3 */
body.le-experts-directory-page,
body.le-partner-apply-page,
body.le-partner-dashboard-page,
body.le-expert-single-page {
    overflow-x: clip;
}

body.le-experts-directory-page article.page > .entry-header,
body.le-partner-apply-page article.page > .entry-header,
body.le-partner-dashboard-page article.page > .entry-header,
body.le-expert-single-page article.le-theme-expert-entry > .entry-header,
body.le-expert-single-page article.le-theme-expert-entry > .entry-image,
body.le-expert-single-page article.le-theme-expert-entry > .featured-image,
body.le-expert-single-page article.le-theme-expert-entry > .post-meta,
body.le-expert-single-page article.le-theme-expert-entry > .entry-meta {
    display: none !important;
}

body.le-experts-directory-page .entry-content,
body.le-partner-apply-page .entry-content,
body.le-partner-dashboard-page .entry-content,
body.le-expert-single-page .entry-content,
body.le-experts-directory-page .wp-block-post-content,
body.le-partner-apply-page .wp-block-post-content,
body.le-partner-dashboard-page .wp-block-post-content,
body.le-expert-single-page .wp-block-post-content,
body.le-experts-directory-page .content-area,
body.le-partner-apply-page .content-area,
body.le-partner-dashboard-page .content-area,
body.le-expert-single-page .content-area {
    box-sizing: border-box;
    max-width: none !important;
    width: 100% !important;
}

body.le-experts-directory-page .entry-content,
body.le-partner-apply-page .entry-content,
body.le-partner-dashboard-page .entry-content,
body.le-expert-single-page .entry-content {
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.le-experts-directory-page .le-directory,
body.le-partner-apply-page .le-apply,
body.le-partner-dashboard-page .le-dashboard,
body.le-expert-single-page .le-profile-page {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    width: min(1180px, calc(100% - 32px));
}

body.le-expert-single-page .le-profile-page {
    width: 100%;
}

/* Directory cards: compact professional list instead of narrow product cards. */
.le-directory {
    padding: 28px 0 72px;
}

.le-directory__intro {
    margin-top: 0;
}

.le-grid {
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: 1fr !important;
    margin: 0 auto;
    max-width: 980px;
}

.le-card {
    background: #fff;
    border: 1px solid var(--le-border);
    border-radius: 20px;
    box-shadow: 0 8px 26px rgba(48, 39, 28, .06);
    display: grid !important;
    grid-template-columns: 176px minmax(0, 1fr) !important;
    min-height: 210px;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.le-card:hover {
    border-color: #cfbea6;
    box-shadow: 0 15px 36px rgba(48, 39, 28, .1);
    transform: translateY(-2px);
}

.le-card__media {
    aspect-ratio: auto !important;
    background: var(--le-cream-deep);
    display: block;
    min-height: 210px !important;
    overflow: hidden;
    position: relative;
}

.le-card__image {
    height: 100% !important;
    object-fit: cover;
    object-position: center top;
    width: 100% !important;
}

.le-card__image--placeholder {
    align-items: center;
    color: var(--le-green);
    display: flex;
    font-family: Georgia, serif;
    font-size: 48px;
    justify-content: center;
}

.le-card__body {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0;
    padding: 20px 22px !important;
}

.le-card__top {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.le-card__top > div:first-child {
    min-width: 0;
}

.le-card__body h2 {
    font-size: clamp(24px, 3vw, 31px);
    line-height: 1.08;
    margin: 6px 0 4px;
}

.le-card__job {
    color: var(--le-green-dark);
    font-size: 15px;
    font-weight: 750;
    margin: 0;
}

.le-card__topics {
    color: var(--le-text);
    font-size: 15px;
    line-height: 1.45;
    margin: 14px 0 0;
}

.le-card__summary {
    color: var(--le-muted);
    font-size: 14px;
    line-height: 1.55;
    margin: 8px 0 0;
}

.le-card__footer {
    align-items: flex-end;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 18px;
}

.le-card__footer > div {
    min-width: 0;
}

.le-card__city {
    color: var(--le-muted);
    display: block;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 7px;
}

.le-card__footer .le-button {
    flex: 0 0 auto;
    margin: 0 !important;
    min-width: 138px;
}

/* Profile uses the theme header but owns its content canvas. */
.le-profile-page {
    background: linear-gradient(180deg, #fbf5ea 0, #fff 430px);
    box-sizing: border-box;
    padding: 30px 0 74px;
}

.le-profile-hero {
    grid-template-columns: minmax(240px, 31%) minmax(0, 1fr) !important;
}

.le-profile-hero__photo {
    aspect-ratio: 4 / 5;
    max-height: 410px !important;
}

.le-profile-hero__content h1 {
    font-size: clamp(38px, 5vw, 58px);
}

/* Partner application structure and legal acknowledgements. */
.le-apply {
    padding: 30px 0 72px;
}

.le-apply-benefits {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 0 22px;
}

.le-apply-benefits article {
    background: #fff;
    border: 1px solid var(--le-border);
    border-radius: 18px;
    padding: 18px;
}

.le-apply-benefits article > span {
    color: var(--le-orange-dark);
    display: block;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    margin-bottom: 8px;
}

.le-apply-benefits strong {
    color: var(--le-brown);
    display: block;
    font-family: Georgia, serif;
    font-size: 21px;
    margin-bottom: 5px;
}

.le-apply-benefits p {
    color: var(--le-muted);
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
}

.le-form-section {
    border: 0;
    border-bottom: 1px solid var(--le-border);
    margin: 0 0 24px;
    padding: 0 0 24px;
}

.le-form-section:last-of-type {
    border-bottom: 0;
}

.le-form-section legend {
    color: var(--le-brown);
    font-family: Georgia, serif;
    font-size: 25px;
    font-weight: 700;
    margin: 0 0 16px;
    padding: 0;
}

.le-form-section--legal {
    background: var(--le-cream);
    border: 1px solid var(--le-border) !important;
    border-radius: 16px;
    padding: 18px !important;
}

.le-form-section--legal legend {
    font-size: 21px;
    padding: 0 6px;
}

.le-consent {
    align-items: flex-start;
    display: grid !important;
    gap: 10px;
    grid-template-columns: 20px minmax(0, 1fr);
    margin: 10px 0 !important;
}

.le-consent input {
    height: 18px !important;
    margin: 3px 0 0 !important;
    width: 18px !important;
}

.le-consent span {
    color: var(--le-muted);
    font-size: 13px;
    line-height: 1.55;
}

.le-consent a {
    color: var(--le-green-dark);
    font-weight: 800;
}

.le-apply-submit {
    min-width: 230px;
}

/* Dashboard inside the normal theme page: no custom template and no breakout positioning. */
body.le-partner-dashboard-page .le-dashboard-page-shell {
    background: transparent;
    min-height: 0;
    padding: 0;
}

body.le-partner-dashboard-page .le-dashboard {
    left: auto !important;
    margin: 0 auto !important;
    max-width: 1180px;
    padding: 30px 0 72px;
    position: static !important;
    right: auto !important;
    transform: none !important;
    width: min(1180px, calc(100% - 32px));
}

body.le-partner-dashboard-page .components-popover__fallback-container {
    z-index: 9998;
}

@media (max-width: 759px) {
    body.le-experts-directory-page .le-directory,
    body.le-partner-apply-page .le-apply,
    body.le-partner-dashboard-page .le-dashboard,
    body.le-expert-single-page .le-profile-page {
        width: min(100%, calc(100% - 20px));
    }

    .le-directory,
    .le-apply,
    .le-profile-page {
        padding-top: 20px;
    }

    .le-apply-benefits {
        grid-template-columns: 1fr;
    }

    .le-card {
        grid-template-columns: 104px minmax(0, 1fr) !important;
        min-height: 0;
    }

    .le-card__media {
        min-height: 154px !important;
    }

    .le-card__body {
        padding: 14px !important;
    }

    .le-card__top {
        display: block;
    }

    .le-card__body h2 {
        font-size: 21px;
        margin-top: 4px;
    }

    .le-card__job,
    .le-card__topics {
        font-size: 13px;
    }

    .le-card__summary {
        display: none;
    }

    .le-card .le-rating {
        margin-top: 7px;
    }

    .le-card__footer {
        align-items: stretch;
        display: block;
        padding-top: 11px;
    }

    .le-card__footer .le-button {
        margin-top: 10px !important;
        min-height: 40px;
        min-width: 0;
        width: 100%;
    }

    .le-card__modes {
        gap: 5px;
    }

    .le-pill {
        font-size: 10px;
        padding: 5px 8px;
    }

    .le-profile-hero {
        grid-template-columns: 1fr !important;
    }

    .le-profile-hero__photo {
        aspect-ratio: 16 / 10;
        max-height: 320px !important;
    }

    .le-apply__form {
        padding: 16px;
    }

    .le-form-section legend {
        font-size: 22px;
    }

    .le-apply-submit {
        width: 100%;
    }

    body.le-partner-dashboard-page .le-dashboard {
        padding: 18px 0 52px;
        width: min(100%, calc(100% - 20px));
    }
}

@media (max-width: 419px) {
    .le-card {
        grid-template-columns: 88px minmax(0, 1fr) !important;
    }

    .le-card__media {
        min-height: 142px !important;
    }

    .le-card__body {
        padding: 12px !important;
    }

    .le-card__body h2 {
        font-size: 19px;
    }

    .le-rating {
        font-size: 11px;
    }
}


/* Theme-independent wide canvas and navigation containment — v1.3.1 */
.le-directory,
.le-profile-page,
.le-dashboard,
.le-apply,
.le-directory *,
.le-profile-page *,
.le-dashboard *,
.le-apply * {
    box-sizing: border-box;
}

/* Break the plugin canvas out of narrow theme content columns while keeping the theme header/footer. */
body.le-experts-directory-page .le-directory,
body.le-expert-single-page .le-profile-page,
body.le-partner-dashboard-page .le-dashboard {
    --le-canvas-gutter: clamp(16px, 2.2vw, 32px);
    max-width: none !important;
    width: min(1240px, calc(100vw - (2 * var(--le-canvas-gutter)))) !important;
    margin-left: 50% !important;
    margin-right: 0 !important;
    transform: translateX(-50%) !important;
}

body.le-experts-directory-page .le-directory {
    padding-top: clamp(26px, 4vw, 54px);
}

body.le-expert-single-page .le-profile-page {
    padding-top: clamp(24px, 3vw, 44px);
}

body.le-partner-dashboard-page .le-dashboard {
    padding-top: clamp(22px, 3vw, 42px);
}

/* The directory should use the canvas, not a second narrow max-width. */
body.le-experts-directory-page .le-grid {
    max-width: none !important;
    width: 100%;
}

body.le-experts-directory-page .le-search {
    width: 100%;
}

/* Larger desktop cards with predictable image and content proportions. */
@media (min-width: 980px) {
    body.le-experts-directory-page .le-card {
        grid-template-columns: 210px minmax(0, 1fr) !important;
        min-height: 230px;
    }

    body.le-experts-directory-page .le-card__media {
        min-height: 230px !important;
    }

    body.le-experts-directory-page .le-card__body {
        padding: 24px 26px !important;
    }

    body.le-expert-single-page .le-profile-hero {
        gap: 34px;
        grid-template-columns: minmax(290px, 34%) minmax(0, 1fr) !important;
        padding: 30px;
    }

    body.le-expert-single-page .le-profile-layout {
        gap: 26px;
        grid-template-columns: minmax(0, 1fr) 360px;
    }

    body.le-partner-dashboard-page .le-dashboard__layout {
        gap: 26px;
        grid-template-columns: 230px minmax(0, 1fr);
    }

    body.le-partner-dashboard-page .le-dashboard__nav {
        box-sizing: border-box;
        min-width: 0;
        overflow: hidden;
        padding: 10px;
        width: 100%;
    }

    body.le-partner-dashboard-page .le-dashboard__nav a {
        box-sizing: border-box;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        padding: 11px 12px;
        text-overflow: ellipsis;
        white-space: nowrap;
        width: 100%;
    }

    body.le-partner-dashboard-page .le-dashboard__content {
        min-width: 0;
        width: 100%;
    }
}

/* Keep the active item inside the white navigation card at every size. */
.le-dashboard__nav,
.le-dashboard__nav a,
.le-dashboard-mobile-menu,
.le-dashboard-mobile-menu a {
    box-sizing: border-box;
    max-width: 100%;
}

.le-dashboard__nav a.is-active {
    margin: 0 !important;
}

/* Better desktop density for lists and financial cards. */
@media (min-width: 1180px) {
    body.le-partner-dashboard-page .le-dashboard-grid {
        gap: 18px;
    }

    body.le-partner-dashboard-page .le-dashboard-card {
        padding: 22px;
    }

    body.le-partner-dashboard-page .le-article-row {
        padding: 14px;
    }
}

/* Mobile canvas and no horizontal escape from theme or editor elements. */
@media (max-width: 979px) {
    body.le-experts-directory-page .le-directory,
    body.le-expert-single-page .le-profile-page,
    body.le-partner-dashboard-page .le-dashboard {
        --le-canvas-gutter: 10px;
        width: calc(100vw - 20px) !important;
    }

    body.le-partner-dashboard-page .le-dashboard__layout {
        display: block;
    }

    body.le-partner-dashboard-page .le-dashboard-mobile-menu {
        width: 100%;
    }
}

@media (max-width: 559px) {
    body.le-experts-directory-page .le-directory,
    body.le-expert-single-page .le-profile-page,
    body.le-partner-dashboard-page .le-dashboard {
        --le-canvas-gutter: 8px;
        width: calc(100vw - 16px) !important;
    }

    body.le-experts-directory-page .le-search {
        border-radius: 17px;
        padding: 14px;
    }

    body.le-expert-single-page .le-profile-hero,
    body.le-expert-single-page .le-profile-section,
    body.le-expert-single-page .le-contact-card,
    body.le-partner-dashboard-page .le-dashboard-card {
        border-radius: 16px;
    }
}

/* Navigation and public profile polish — v1.3.2 */
body.le-expert-single-page .le-profile-page {
    max-width: none !important;
}

@media (min-width: 980px) {
    body.le-expert-single-page .le-profile-hero {
        align-items: center;
        background:
            radial-gradient(circle at 92% 12%, rgba(244,163,19,.12), transparent 28%),
            linear-gradient(135deg, #fff 0%, #fffdf8 100%);
        border-color: #dfd2c1;
        box-shadow: 0 18px 45px rgba(52,41,28,.09);
        gap: clamp(34px, 4vw, 58px);
        grid-template-columns: minmax(300px, 35%) minmax(0, 1fr) !important;
        padding: 34px;
    }

    body.le-expert-single-page .le-profile-hero__photo {
        border: 1px solid #eadfce;
        box-shadow: 0 12px 30px rgba(61,45,29,.09);
        max-height: 455px !important;
    }

    body.le-expert-single-page .le-profile-hero__content {
        max-width: 720px;
        padding-right: clamp(0px, 2vw, 24px);
    }

    body.le-expert-single-page .le-profile h1 {
        font-size: clamp(44px, 4.2vw, 64px);
        letter-spacing: -.025em;
        margin-bottom: 10px;
    }

    body.le-expert-single-page .le-profile-actions {
        align-items: center;
        flex-direction: row;
        flex-wrap: wrap;
    }

    body.le-expert-single-page .le-profile-layout {
        align-items: start;
        grid-template-columns: minmax(0, 1fr) 340px;
    }

    body.le-expert-single-page .le-profile-section,
    body.le-expert-single-page .le-contact-card,
    body.le-expert-single-page .le-social-card,
    body.le-expert-single-page .le-partner-note {
        padding: 28px 30px;
    }

    body.le-expert-single-page .le-profile-sidebar {
        position: sticky;
        top: 24px;
    }

    body.le-expert-single-page .le-profile-articles article {
        grid-template-columns: 170px minmax(0, 1fr);
        min-height: 150px;
    }

    body.le-expert-single-page .le-profile-articles p {
        display: block;
    }
}

@media (max-width: 979px) {
    body.le-expert-single-page .le-profile-hero {
        box-shadow: 0 12px 30px rgba(52,41,28,.08);
    }

    body.le-expert-single-page .le-profile-actions .le-button {
        flex: 1 1 170px;
    }
}

@media (max-width: 559px) {
    body.le-expert-single-page .le-profile-hero {
        gap: 18px;
        padding: 14px;
    }

    body.le-expert-single-page .le-profile-hero__photo {
        aspect-ratio: 4 / 3;
    }

    body.le-expert-single-page .le-profile h1 {
        font-size: clamp(31px, 10vw, 42px);
    }

    body.le-expert-single-page .le-profile-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    body.le-expert-single-page .le-profile-actions .le-button {
        width: 100%;
    }

    body.le-expert-single-page .le-profile-section,
    body.le-expert-single-page .le-contact-card,
    body.le-expert-single-page .le-social-card,
    body.le-expert-single-page .le-partner-note {
        padding: 20px;
    }
}

/* Partner payment details */
.le-payment-settings-card .le-section-heading {
    margin-bottom: 18px;
}

.le-payment-form__grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.le-payment-form__wide {
    grid-column: 1 / -1;
}

.le-payment-form__actions {
    align-items: center;
    display: flex;
    justify-content: flex-start;
    margin-top: 18px;
}

.le-payment-form input,
.le-payment-form select,
.le-payment-form textarea {
    max-width: 100%;
}

@media (max-width: 680px) {
    .le-payment-form__grid {
        grid-template-columns: 1fr;
    }

    .le-payment-form__wide {
        grid-column: auto;
    }

    .le-payment-form__actions .le-button {
        width: 100%;
    }
}

/* Sponsored profiles and self-service promotion */
.le-sponsored-label {
    color: #8a6a31;
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.2;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.le-card--sponsored {
    border-color: #dbc89f;
    box-shadow: 0 12px 32px rgba(107, 82, 34, .10);
}

.le-card--sponsored::before {
    background: linear-gradient(90deg, #d6b96e, #f0dfb0);
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
}

.le-card--sponsored {
    position: relative;
}

.le-profile--sponsored .le-profile-hero {
    border-color: #dbc89f;
}

.le-promotion-settings-card .le-section-total {
    display: flex;
    flex-direction: column;
    text-align: right;
}

.le-promotion-settings-card .le-section-total small {
    color: var(--le-muted);
    font-family: inherit;
    font-size: 11px;
    font-weight: 650;
    margin-top: 3px;
}

.le-promotion-plans {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 18px 0 12px;
}

.le-promotion-plan {
    align-items: center;
    background: linear-gradient(145deg, #fff 0%, #fbf6eb 100%);
    border: 1px solid var(--le-border);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    min-width: 0;
    padding: 18px 14px;
    text-align: center;
}

.le-promotion-plan > span {
    color: var(--le-green);
    font-size: 14px;
    font-weight: 800;
}

.le-promotion-plan > strong {
    color: var(--le-text);
    font-family: Georgia, serif;
    font-size: 27px;
    line-height: 1.1;
}

.le-promotion-plan .le-button {
    margin: 4px 0 0;
    width: 100%;
}

.le-promotion-plan .le-button:disabled {
    cursor: not-allowed;
    opacity: .45;
}

.le-promotion-history {
    border-top: 1px solid var(--le-border);
    margin-top: 18px;
    padding-top: 14px;
}

.le-promotion-history > summary {
    color: var(--le-green);
    cursor: pointer;
    font-weight: 800;
}

@media (max-width: 720px) {
    .le-promotion-plans {
        grid-template-columns: 1fr;
    }

    .le-promotion-settings-card .le-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .le-promotion-settings-card .le-section-total {
        text-align: left;
    }
}

/* Expert packages and final public-profile polish — v1.6.0 */
.le-card__price {
    align-items: baseline;
    background: linear-gradient(135deg, #fff7df 0%, #fffdf8 100%);
    border: 1px solid #efd9aa;
    border-radius: 12px;
    display: inline-flex;
    gap: 7px;
    margin: 13px 0 0;
    padding: 8px 11px;
    width: fit-content;
}

.le-card__price span {
    color: #7b684b;
    font-size: 11px;
    font-weight: 750;
    text-transform: uppercase;
}

.le-card__price strong {
    color: var(--le-brown);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 20px;
    line-height: 1;
    white-space: nowrap;
}

.le-card__price .woocommerce-Price-amount,
.le-profile-price .woocommerce-Price-amount,
.le-packages-heading .woocommerce-Price-amount,
.le-package-card__top .woocommerce-Price-amount,
.le-contact-price .woocommerce-Price-amount,
.le-mobile-contact-bar .woocommerce-Price-amount {
    color: inherit;
    font: inherit;
}

body.le-expert-single-page .le-profile-hero {
    overflow: visible;
    position: relative;
}

body.le-expert-single-page .le-profile-hero::after {
    background: linear-gradient(180deg, rgba(244,163,19,.72), rgba(33,75,59,.62));
    border-radius: 999px;
    content: "";
    height: calc(100% - 68px);
    left: -1px;
    position: absolute;
    top: 34px;
    width: 4px;
}

.le-profile-tags .le-pill--specialty {
    background: #fff;
    border: 1px solid #d9cdbd;
    color: var(--le-green-dark) !important;
    text-decoration: none;
}

.le-profile-tags .le-pill--specialty:hover {
    background: var(--le-green-soft);
    border-color: #b9d0c1;
}

.le-profile-price {
    align-items: baseline;
    background: linear-gradient(135deg, var(--le-orange-soft), #fffaf0);
    border: 1px solid #efd39c;
    border-radius: 14px;
    display: inline-flex;
    gap: 9px;
    margin: 2px 0 14px;
    padding: 10px 14px;
}

.le-profile-price span {
    color: #755a2d;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.le-profile-price strong {
    color: var(--le-brown);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 25px;
    line-height: 1;
}

body.le-expert-single-page .le-profile-main {
    display: grid;
    gap: 18px;
}

body.le-expert-single-page .le-profile-main > .le-profile-section {
    margin-bottom: 0;
    overflow: hidden;
    position: relative;
}

body.le-expert-single-page .le-profile-main > .le-profile-section::before {
    background: linear-gradient(90deg, rgba(33,75,59,.9), rgba(244,163,19,.72));
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.le-packages-heading {
    align-items: flex-end;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin: 7px 0 19px;
}

.le-packages-heading h2 {
    margin: 0 !important;
}

.le-packages-heading > span {
    background: var(--le-orange-soft);
    border: 1px solid #efd39c;
    border-radius: 999px;
    color: var(--le-brown);
    flex: 0 0 auto;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 18px;
    font-weight: 700;
    padding: 8px 12px;
}

.le-package-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.le-package-card {
    background: #fffdf8;
    border: 1px solid #e5d8c5;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(52,41,28,.055);
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.le-package-card:hover {
    border-color: #cfbea6;
    box-shadow: 0 14px 32px rgba(52,41,28,.1);
    transform: translateY(-2px);
}

.le-package-card__media {
    align-items: center;
    aspect-ratio: 16 / 9;
    background:
        radial-gradient(circle at 80% 20%, rgba(244,163,19,.2), transparent 32%),
        linear-gradient(135deg, #f7ead5, #eef4ef);
    color: var(--le-green);
    display: flex;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 26px;
    font-weight: 700;
    justify-content: center;
    overflow: hidden;
}

.le-package-card__media img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.le-package-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding: 17px;
}

.le-package-card__top {
    display: grid;
    gap: 8px;
}

.le-package-card__top h3 {
    color: var(--le-brown);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 23px;
    line-height: 1.12;
    margin: 0;
    overflow-wrap: anywhere;
}

.le-package-card__top > strong {
    color: var(--le-green-dark);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 25px;
    line-height: 1;
}

.le-package-card__body > p {
    color: var(--le-muted);
    font-size: 14px;
    line-height: 1.6;
    margin: 13px 0 17px;
    overflow-wrap: anywhere;
}

.le-package-card__body .le-button {
    margin-top: auto;
}

.le-contact-price {
    background: linear-gradient(135deg, #fff7df, #fffdf8);
    border: 1px solid #efd8a8 !important;
    border-radius: 13px;
    margin: 8px 0;
    padding: 12px !important;
}

.le-contact-price dd {
    color: var(--le-brown) !important;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 25px !important;
    line-height: 1.1;
}

/* Package editor in the partner panel. */
.le-package-editor-grid {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 18px;
}

.le-package-editor {
    background: linear-gradient(145deg, #fff 0%, #fffcf6 100%);
    border: 1px solid var(--le-border);
    border-radius: 17px;
    min-width: 0;
    padding: 15px;
}

.le-package-editor legend {
    color: var(--le-brown);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 20px;
    font-weight: 700;
    padding: 0 7px;
}

.le-package-editor label {
    margin-bottom: 12px;
}

.le-package-editor label:last-child {
    margin-bottom: 0;
}

.le-package-image-field {
    margin: 0 0 14px;
}

.le-package-image-preview {
    align-items: center;
    aspect-ratio: 16 / 9;
    background: var(--le-cream);
    border: 1px dashed #cdbfae;
    border-radius: 12px;
    color: var(--le-muted);
    display: flex;
    font-size: 12px;
    justify-content: center;
    margin-bottom: 9px;
    overflow: hidden;
    text-align: center;
}

.le-package-image-preview img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.le-package-image-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

/* Reviews must never escape the profile card on narrow screens. */
.le-reviews,
.le-review-list,
.le-review,
.le-review__top,
.le-review__top > div,
.le-review__content,
.le-review__reply,
.le-review-form-wrap,
.le-review-form,
.le-rating-summary {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
}

.le-review,
.le-review__content,
.le-review__reply,
.le-review-form input,
.le-review-form textarea {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.le-review-form input,
.le-review-form textarea,
.le-review-form select {
    width: 100%;
}

@media (min-width: 980px) {
    body.le-expert-single-page .le-container {
        width: min(1240px, calc(100% - 48px));
    }

    body.le-expert-single-page .le-profile-layout {
        grid-template-columns: minmax(0, 1fr) 350px;
    }

    body.le-expert-single-page .le-profile-main > .le-profile-section,
    body.le-expert-single-page .le-contact-card,
    body.le-expert-single-page .le-social-card,
    body.le-expert-single-page .le-partner-note {
        border-radius: 20px;
    }
}

@media (max-width: 979px) {
    .le-package-editor-grid {
        grid-template-columns: 1fr;
    }

    body.le-expert-single-page .le-profile-main {
        gap: 14px;
    }
}

@media (max-width: 680px) {
    .le-card__price {
        padding: 7px 9px;
    }

    .le-card__price strong {
        font-size: 18px;
    }

    .le-profile-tags {
        gap: 6px;
    }

    .le-profile-tags .le-pill {
        font-size: 11px;
        padding: 6px 9px;
    }

    .le-profile-price {
        width: fit-content;
    }

    .le-packages-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .le-package-grid {
        grid-template-columns: 1fr;
    }

    .le-package-card {
        display: grid;
        grid-template-columns: 112px minmax(0, 1fr);
    }

    .le-package-card__media {
        aspect-ratio: auto;
        min-height: 100%;
    }

    .le-package-card__body {
        padding: 14px;
    }

    .le-package-card__top h3 {
        font-size: 20px;
    }

    .le-package-card__top > strong {
        font-size: 22px;
    }

    .le-package-card__body > p {
        font-size: 13px;
        margin: 10px 0 12px;
    }

    .le-review__top {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .le-review__top time {
        white-space: normal;
    }

    .le-rating-summary {
        align-items: flex-start;
        width: 100%;
    }

    .le-reviews .le-section-heading {
        width: 100%;
    }
}

@media (max-width: 430px) {
    .le-package-card {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .le-package-card__body {
        padding: 12px;
    }

    .le-package-card__body .le-button {
        font-size: 12px;
        min-height: 39px;
        padding: 8px 10px;
    }

    .le-mobile-contact-bar > div span {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* Mobile directory thumbnail and profile footer cleanup — v1.6.1 */
.le-mobile-contact-bar {
    display: none !important;
}

/* Hide post metadata injected by the active theme after a specialist profile. */
body.le-expert-single-page .le-theme-expert-entry > footer,
body.le-expert-single-page .le-theme-expert-entry .entry-meta,
body.le-expert-single-page .le-theme-expert-entry .entry-footer,
body.le-expert-single-page .le-theme-expert-entry .post-meta,
body.le-expert-single-page .le-theme-expert-entry .blog-share,
body.le-expert-single-page .le-theme-expert-entry .navigation-post,
body.le-expert-single-page .le-theme-expert-entry .author-box {
    display: none !important;
}

@media (max-width: 759px) {
    body.le-experts-directory-page .le-card {
        align-items: start;
        column-gap: 12px;
        grid-template-columns: 96px minmax(0, 1fr) !important;
        padding: 14px;
    }

    body.le-experts-directory-page .le-card__media {
        align-self: start;
        border: 1px solid rgba(214, 198, 176, .72);
        border-radius: 14px;
        height: 112px;
        min-height: 0 !important;
        overflow: hidden;
        width: 96px;
    }

    body.le-experts-directory-page .le-card__image {
        height: 100% !important;
        object-fit: cover;
        object-position: center top;
        width: 100% !important;
    }

    body.le-experts-directory-page .le-card__image--placeholder {
        font-size: 40px;
    }

    body.le-experts-directory-page .le-card__body {
        min-width: 0;
        padding: 0 !important;
    }

    body.le-experts-directory-page .le-card__body h2 {
        font-size: 20px;
        line-height: 1.12;
        margin-top: 4px;
        overflow-wrap: anywhere;
    }

    body.le-experts-directory-page .le-card__footer {
        padding-top: 10px;
    }

    body.le-experts-directory-page .le-card__footer .le-button {
        min-height: 42px;
    }
}

@media (max-width: 390px) {
    body.le-experts-directory-page .le-card {
        column-gap: 10px;
        grid-template-columns: 84px minmax(0, 1fr) !important;
        padding: 12px;
    }

    body.le-experts-directory-page .le-card__media {
        height: 100px;
        width: 84px;
    }

    body.le-experts-directory-page .le-card__body h2 {
        font-size: 18px;
    }
}

/* Latest Lama Community Forum replies in the public specialist profile. */
.le-forum-heading {
    align-items: flex-end;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.le-forum-heading h2 {
    margin-bottom: 0 !important;
}

.le-forum-all {
    border-bottom: 1px solid currentColor;
    color: var(--le-green-dark);
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
    text-decoration: none;
}

.le-forum-all:hover,
.le-forum-all:focus-visible {
    color: var(--le-brown);
}

.le-forum-replies {
    display: grid;
    gap: 12px;
}

.le-forum-reply {
    align-items: center;
    background: linear-gradient(145deg, #fff 0%, #fffcf6 100%);
    border: 1px solid var(--le-border);
    border-radius: 17px;
    color: var(--le-text);
    display: grid;
    gap: 14px;
    grid-template-columns: 42px minmax(0, 1fr) auto 18px;
    min-width: 0;
    padding: 15px 16px;
    text-decoration: none !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.le-forum-reply:hover,
.le-forum-reply:focus-visible {
    border-color: #c8b99f;
    box-shadow: 0 12px 28px rgba(52, 41, 28, .09);
    color: var(--le-text);
    transform: translateY(-1px);
}

.le-forum-reply__mark {
    align-items: center;
    background: var(--le-green-soft);
    border-radius: 13px;
    color: var(--le-green-dark);
    display: flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.le-forum-reply__mark svg {
    height: 21px;
    width: 21px;
}

.le-forum-reply__body,
.le-forum-reply__topic,
.le-forum-reply__answer {
    display: block;
    min-width: 0;
}

.le-forum-reply__topic small,
.le-forum-reply__answer small {
    color: var(--le-green-dark);
    display: block;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .06em;
    line-height: 1.2;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.le-forum-reply__topic strong {
    color: var(--le-brown);
    display: block;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 18px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.le-forum-reply__answer {
    color: var(--le-muted);
    font-size: 13px;
    line-height: 1.55;
    margin-top: 9px;
    overflow-wrap: anywhere;
}

.le-forum-reply > time {
    color: var(--le-muted);
    font-size: 11px;
    white-space: nowrap;
}

.le-forum-reply__arrow {
    color: var(--le-green-dark);
    font-size: 18px;
    font-weight: 800;
}

@media (max-width: 640px) {
    .le-forum-heading {
        align-items: flex-start;
    }

    .le-forum-all {
        margin-top: 4px;
    }

    .le-forum-reply {
        align-items: start;
        gap: 10px 11px;
        grid-template-columns: 36px minmax(0, 1fr) 14px;
        padding: 13px;
    }

    .le-forum-reply__mark {
        border-radius: 11px;
        height: 36px;
        width: 36px;
    }

    .le-forum-reply__mark svg {
        height: 18px;
        width: 18px;
    }

    .le-forum-reply__topic strong {
        font-size: 16px;
    }

    .le-forum-reply__answer {
        font-size: 12.5px;
    }

    .le-forum-reply > time {
        grid-column: 2 / -1;
        grid-row: 2;
        margin-top: -2px;
    }

    .le-forum-reply__arrow {
        grid-column: 3;
        grid-row: 1;
        margin-top: 8px;
    }
}


/* Compact specialist directory cards with uncropped imagery — v1.6.4 */
@media (min-width: 760px) {
    body.le-experts-directory-page .le-grid {
        gap: 12px !important;
        max-width: 960px;
    }

    body.le-experts-directory-page .le-card {
        grid-template-columns: 152px minmax(0, 1fr) !important;
        min-height: 176px;
        border-radius: 18px;
    }

    body.le-experts-directory-page .le-card__media {
        align-items: center;
        background: #f7ecd8;
        display: flex;
        justify-content: center;
        min-height: 176px !important;
        padding: 9px;
    }

    body.le-experts-directory-page .le-card__image {
        height: 158px !important;
        max-height: 100%;
        object-fit: contain !important;
        object-position: center !important;
        width: 100% !important;
    }

    body.le-experts-directory-page .le-card__body {
        padding: 14px 17px !important;
    }

    body.le-experts-directory-page .le-card__top {
        gap: 12px;
    }

    body.le-experts-directory-page .le-card__body h2 {
        font-size: clamp(21px, 2vw, 25px);
        margin: 4px 0 2px;
    }

    body.le-experts-directory-page .le-card__job,
    body.le-experts-directory-page .le-card__topics {
        font-size: 13px;
    }

    body.le-experts-directory-page .le-card__topics {
        margin-top: 7px;
    }

    body.le-experts-directory-page .le-card__summary {
        display: -webkit-box;
        font-size: 13px;
        line-height: 1.4;
        margin-top: 5px;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
    }

    body.le-experts-directory-page .le-card__price {
        margin-top: 7px;
        padding: 6px 9px;
    }

    body.le-experts-directory-page .le-card__price strong {
        font-size: 18px;
    }

    body.le-experts-directory-page .le-card__footer {
        align-items: center;
        padding-top: 8px;
    }

    body.le-experts-directory-page .le-card__footer .le-button {
        min-height: 38px;
        min-width: 126px;
        padding: 8px 15px !important;
    }

    body.le-experts-directory-page .le-card__city {
        margin-bottom: 4px;
    }

    body.le-experts-directory-page .le-card__modes {
        gap: 5px;
    }

    body.le-experts-directory-page .le-card .le-pill {
        padding: 5px 8px;
    }
}

@media (max-width: 759px) {
    body.le-experts-directory-page .le-card__media {
        align-items: center;
        background: #f7ecd8;
        display: flex;
        justify-content: center;
        padding: 5px;
    }

    body.le-experts-directory-page .le-card__image {
        height: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
    }
}


/* Balanced compact specialist directory cards — v1.6.5 */
@media (min-width: 760px) {
    body.le-experts-directory-page .le-directory {
        width: min(940px, calc(100% - 40px));
    }

    body.le-experts-directory-page .le-directory__intro,
    body.le-experts-directory-page .le-filter,
    body.le-experts-directory-page .le-results-count,
    body.le-experts-directory-page .le-grid,
    body.le-experts-directory-page .le-pagination {
        max-width: 860px;
        margin-left: auto;
        margin-right: auto;
    }

    body.le-experts-directory-page .le-grid {
        grid-auto-rows: 220px;
        gap: 12px !important;
    }

    body.le-experts-directory-page .le-card {
        grid-template-columns: 205px minmax(0, 1fr) !important;
        height: 220px;
        min-height: 220px;
        width: 100%;
    }

    body.le-experts-directory-page .le-card__media {
        height: 220px;
        min-height: 220px !important;
        padding: 10px;
    }

    body.le-experts-directory-page .le-card__image {
        height: 200px !important;
        max-height: 200px;
        width: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    body.le-experts-directory-page .le-card__image--placeholder {
        height: 200px !important;
    }

    body.le-experts-directory-page .le-card__body {
        height: 220px;
        overflow: hidden;
        padding: 14px 16px !important;
    }

    body.le-experts-directory-page .le-card__body h2 {
        font-size: clamp(20px, 1.55vw, 24px);
        line-height: 1.08;
        margin: 3px 0 2px;
    }

    body.le-experts-directory-page .le-card__topics,
    body.le-experts-directory-page .le-card__summary {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.le-experts-directory-page .le-card__footer {
        margin-top: auto;
        padding-top: 7px;
    }

    body.le-experts-directory-page .le-card__footer .le-button {
        min-height: 36px;
        min-width: 120px;
        padding: 7px 14px !important;
    }
}

@media (max-width: 759px) {
    body.le-experts-directory-page .le-card {
        min-height: 210px;
    }

    body.le-experts-directory-page .le-card__media {
        min-height: 210px !important;
        padding: 7px;
    }

    body.le-experts-directory-page .le-card__image {
        height: 196px !important;
        max-height: 196px;
        object-fit: contain !important;
    }

    body.le-experts-directory-page .le-card__image--placeholder {
        height: 196px !important;
    }
}

/* Keep desktop city and consultation modes fully visible — v1.6.6 */
@media (min-width: 760px) {
    body.le-experts-directory-page .le-grid {
        grid-auto-rows: 232px;
    }

    body.le-experts-directory-page .le-card {
        height: 232px;
        min-height: 232px;
    }

    body.le-experts-directory-page .le-card__media {
        height: 232px;
        min-height: 232px !important;
    }

    body.le-experts-directory-page .le-card__image {
        height: 212px !important;
        max-height: 212px;
    }

    body.le-experts-directory-page .le-card__image--placeholder {
        height: 212px !important;
    }

    body.le-experts-directory-page .le-card__body {
        height: 232px;
        overflow: hidden;
        padding: 11px 14px 62px !important;
        position: relative;
    }

    body.le-experts-directory-page .le-card__body h2 {
        margin-top: 2px;
    }

    body.le-experts-directory-page .le-card__topics {
        margin-top: 5px;
    }

    body.le-experts-directory-page .le-card__summary {
        margin-top: 4px;
    }

    body.le-experts-directory-page .le-card__price {
        margin-top: 7px;
        padding: 6px 9px;
    }

    body.le-experts-directory-page .le-card__price strong {
        font-size: 18px;
    }

    body.le-experts-directory-page .le-card__footer {
        align-items: flex-end;
        bottom: 10px;
        left: 14px;
        margin: 0;
        padding: 0;
        position: absolute;
        right: 14px;
    }

    body.le-experts-directory-page .le-card__city {
        color: var(--le-text);
        display: block;
        font-size: 12px;
        line-height: 1.2;
        margin: 0 0 6px;
        opacity: 1;
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }

    body.le-experts-directory-page .le-card__modes {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        min-height: 27px;
        overflow: visible;
    }

    body.le-experts-directory-page .le-card .le-pill {
        line-height: 1.15;
        padding: 5px 9px;
        white-space: nowrap;
    }
}

/* Structured directory card layout without overlap — v1.6.7 */
.le-card__content {
    min-width: 0;
}

.le-card__copy {
    min-width: 0;
}

@media (min-width: 760px) {
    body.le-experts-directory-page .le-grid {
        grid-auto-rows: 258px;
    }

    body.le-experts-directory-page .le-card {
        grid-template-columns: 205px minmax(0, 1fr) !important;
        height: 258px;
        min-height: 258px;
    }

    body.le-experts-directory-page .le-card__media {
        height: 258px;
        min-height: 258px !important;
        padding: 11px;
    }

    body.le-experts-directory-page .le-card__image {
        height: 236px !important;
        max-height: 236px;
        object-fit: contain !important;
        object-position: center !important;
    }

    body.le-experts-directory-page .le-card__image--placeholder {
        height: 236px !important;
    }

    body.le-experts-directory-page .le-card__body {
        display: flex !important;
        flex-direction: column !important;
        height: 258px;
        overflow: hidden;
        padding: 13px 16px 12px !important;
        position: static;
    }

    body.le-experts-directory-page .le-card__top {
        flex: 0 0 auto;
        gap: 18px;
    }

    body.le-experts-directory-page .le-card__top > div:first-child {
        min-width: 0;
    }

    body.le-experts-directory-page .le-card__body h2 {
        font-size: clamp(21px, 1.55vw, 25px);
        line-height: 1.08;
        margin: 3px 0 2px;
    }

    body.le-experts-directory-page .le-card .le-rating {
        flex: 0 0 auto;
        margin-top: 2px;
        white-space: nowrap;
    }

    body.le-experts-directory-page .le-card__content {
        align-items: start;
        display: grid;
        flex: 1 1 auto;
        gap: 14px;
        grid-template-columns: minmax(0, 1fr) auto;
        margin-top: 7px;
        min-height: 0;
    }

    body.le-experts-directory-page .le-card__copy {
        min-width: 0;
    }

    body.le-experts-directory-page .le-card__topics {
        font-size: 12.5px;
        line-height: 1.35;
        margin: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.le-experts-directory-page .le-card__summary {
        display: -webkit-box;
        font-size: 13px;
        line-height: 1.42;
        margin: 6px 0 0;
        max-width: 560px;
        overflow: hidden;
        white-space: normal;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    body.le-experts-directory-page .le-card__price {
        align-self: start;
        margin: 0;
        min-width: 116px;
        padding: 7px 10px;
        white-space: nowrap;
    }

    body.le-experts-directory-page .le-card__price span {
        display: block;
        margin-bottom: 1px;
    }

    body.le-experts-directory-page .le-card__price strong {
        display: block;
        font-size: 18px;
        line-height: 1.15;
    }

    body.le-experts-directory-page .le-card__footer {
        align-items: flex-end;
        bottom: auto;
        display: flex;
        flex: 0 0 auto;
        gap: 16px;
        justify-content: space-between;
        left: auto;
        margin: 8px 0 0;
        padding: 8px 0 0;
        position: static;
        right: auto;
    }

    body.le-experts-directory-page .le-card__footer > div {
        min-width: 0;
    }

    body.le-experts-directory-page .le-card__city {
        display: block;
        font-size: 12px;
        line-height: 1.2;
        margin: 0 0 6px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.le-experts-directory-page .le-card__modes {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        min-height: 27px;
        overflow: visible;
    }

    body.le-experts-directory-page .le-card .le-pill {
        line-height: 1.15;
        padding: 5px 9px;
        white-space: nowrap;
    }

    body.le-experts-directory-page .le-card__footer .le-button {
        align-self: flex-end;
        flex: 0 0 auto;
        min-height: 38px;
        min-width: 126px;
        padding: 8px 15px !important;
    }
}

@media (max-width: 759px) {
    body.le-experts-directory-page .le-card__content {
        display: block;
    }

    body.le-experts-directory-page .le-card__summary {
        white-space: normal;
    }
}

/* Public specialist profile containment and mobile overflow fixes — v1.6.8 */
body.le-expert-single-page .blog-wrapper,
body.le-expert-single-page .page-wrapper {
    padding-top: 0 !important;
}

/* Flatsome and similar themes render a 9/3 blog layout around custom post types.
 * The specialist profile owns the whole content area, so remove the theme sidebar
 * and restore the main column to a true full-width canvas. */
body.le-expert-single-page #content > .row,
body.le-expert-single-page .blog-wrapper > .row,
body.le-expert-single-page .blog-wrapper .row.row-large,
body.le-expert-single-page .blog-wrapper .row.row-divided {
    border: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

body.le-expert-single-page #content > .row > .large-9,
body.le-expert-single-page .blog-wrapper > .row > .large-9,
body.le-expert-single-page .blog-wrapper > .row > .col:first-child,
body.le-expert-single-page .row.row-divided > .large-9 {
    border: 0 !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
}

body.le-expert-single-page .post-sidebar,
body.le-expert-single-page .blog-sidebar,
body.le-expert-single-page #secondary {
    display: none !important;
}

/* Hide the duplicate post title, image and metadata generated by the theme.
 * The public profile already contains its own semantic H1 and breadcrumbs. */
body.le-expert-single-page article.le-theme-expert-entry .entry-header,
body.le-expert-single-page article.le-theme-expert-entry .entry-image,
body.le-expert-single-page article.le-theme-expert-entry .featured-image,
body.le-expert-single-page article.le-theme-expert-entry .post-meta,
body.le-expert-single-page article.le-theme-expert-entry .entry-meta {
    display: none !important;
}

body.le-expert-single-page article.le-theme-expert-entry,
body.le-expert-single-page article.le-theme-expert-entry .article-inner,
body.le-expert-single-page article.le-theme-expert-entry .entry-content,
body.le-expert-single-page article.le-theme-expert-entry .entry-content.single-page {
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
}

/* Once the theme column is full width, a normal centred container is more stable
 * than the old translate-based breakout and prevents clipping on small screens. */
body.le-expert-single-page .le-profile-page {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    overflow-x: clip;
    transform: none !important;
    width: 100% !important;
}

body.le-expert-single-page .le-profile-page > .le-container {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1240px;
    width: min(1240px, calc(100% - 48px)) !important;
}

body.le-expert-single-page .le-profile,
body.le-expert-single-page .le-profile-hero,
body.le-expert-single-page .le-profile-hero__content,
body.le-expert-single-page .le-profile-layout,
body.le-expert-single-page .le-profile-main,
body.le-expert-single-page .le-profile-sidebar {
    max-width: 100%;
    min-width: 0;
}

/* Dual EUR/BGN price output must remain inside the hero card. */
body.le-expert-single-page .le-profile-price {
    flex-wrap: wrap;
    max-width: 100%;
}

body.le-expert-single-page .le-profile-price strong,
body.le-expert-single-page .le-profile-price strong *,
body.le-expert-single-page .le-profile-price .woocommerce-Price-amount,
body.le-expert-single-page .le-profile-price .woocommerce-Price-amount * {
    max-width: 100%;
    white-space: normal !important;
}

@media (max-width: 979px) {
    body.le-expert-single-page .le-profile-page > .le-container {
        width: calc(100% - 20px) !important;
    }
}

@media (max-width: 559px) {
    body.le-expert-single-page .le-profile-page {
        padding-top: 14px;
    }

    body.le-expert-single-page .le-profile-page > .le-container {
        width: calc(100% - 16px) !important;
    }

    body.le-expert-single-page .le-breadcrumbs {
        margin-bottom: 12px;
    }

    body.le-expert-single-page .le-profile-hero {
        gap: 16px;
        padding: 12px;
    }

    body.le-expert-single-page .le-profile-hero__photo {
        aspect-ratio: 4 / 3;
        max-height: none !important;
        width: 100%;
    }

    body.le-expert-single-page .le-profile h1 {
        font-size: clamp(30px, 10vw, 39px);
        overflow-wrap: anywhere;
    }

    body.le-expert-single-page .le-profile-price {
        align-items: start;
        display: grid;
        gap: 4px;
        grid-template-columns: minmax(0, 1fr);
        padding: 10px 12px;
        width: 100% !important;
    }

    body.le-expert-single-page .le-profile-price > span {
        display: block;
        line-height: 1.2;
        white-space: nowrap;
    }

    body.le-expert-single-page .le-profile-price strong {
        display: block;
        font-size: clamp(21px, 7.2vw, 25px);
        line-height: 1.18;
        min-width: 0;
        overflow-wrap: normal;
    }

    body.le-expert-single-page .le-profile-actions,
    body.le-expert-single-page .le-profile-actions .le-button {
        max-width: 100%;
    }
}

/* Compact public profile and refined specialist directory — v1.6.9 */
body.le-expert-single-page .le-profile-hero {
    align-items: center;
    background:
        radial-gradient(circle at 92% 12%, rgba(244,163,19,.08), transparent 30%),
        linear-gradient(135deg, #fff 0%, #fffdf9 100%);
    gap: clamp(22px, 3vw, 38px);
    grid-template-columns: 220px minmax(0, 1fr) !important;
    padding: clamp(18px, 2vw, 26px);
}

body.le-expert-single-page .le-profile-hero__photo {
    aspect-ratio: 4 / 5;
    border: 1px solid #eadfce;
    border-radius: 20px;
    box-shadow: 0 12px 28px rgba(48,39,28,.08);
    height: auto !important;
    justify-self: start;
    max-height: none !important;
    overflow: hidden;
    width: 220px;
}

body.le-expert-single-page .le-profile-photo {
    object-position: center top;
}

body.le-expert-single-page .le-profile-photo--placeholder {
    background:
        radial-gradient(circle at 50% 32%, rgba(255,255,255,.7), transparent 38%),
        var(--le-cream-deep);
    font-size: 66px;
}

body.le-expert-single-page .le-profile-hero__content {
    max-width: 760px;
}

body.le-expert-single-page .le-profile h1 {
    font-size: clamp(36px, 4vw, 50px);
    margin-bottom: 6px;
}

body.le-expert-single-page .le-profile-tags {
    margin: 10px 0 13px;
}

body.le-expert-single-page .le-profile-lead {
    line-height: 1.62;
    margin-bottom: 15px;
    max-width: 680px;
}

body.le-expert-single-page .le-profile-actions .le-button {
    min-height: 44px;
    padding: 10px 20px;
}

/* The directory is more useful as a compact two-column professional grid on large screens. */
body.le-experts-directory-page .le-directory {
    width: min(1160px, calc(100% - 40px));
}

body.le-experts-directory-page .le-directory__intro,
body.le-experts-directory-page .le-search,
body.le-experts-directory-page .le-results-head,
body.le-experts-directory-page .le-pagination {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
}

body.le-experts-directory-page .le-grid {
    align-items: stretch;
    gap: 16px !important;
    grid-auto-rows: auto !important;
    max-width: 1080px;
}

body.le-experts-directory-page .le-card {
    background: linear-gradient(135deg, #fff 0%, #fffdf9 100%);
    border-color: #e7dccd;
    border-radius: 20px;
    grid-template-columns: 148px minmax(0, 1fr) !important;
    height: auto !important;
    min-height: 226px;
    overflow: hidden;
}

body.le-experts-directory-page .le-card__media {
    align-items: center;
    background: linear-gradient(145deg, #f7eddd, #f1e4d1);
    display: flex;
    height: auto !important;
    justify-content: center;
    min-height: 226px !important;
    padding: 10px;
}

body.le-experts-directory-page .le-card__image,
body.le-experts-directory-page .le-card__image--placeholder {
    border-radius: 14px;
    height: 100% !important;
    max-height: none !important;
    min-height: 0;
    object-fit: contain !important;
    object-position: center !important;
    width: 100% !important;
}

body.le-experts-directory-page .le-card__image--placeholder {
    background: rgba(255,255,255,.28);
    font-size: 46px;
}

body.le-experts-directory-page .le-card__body {
    height: auto !important;
    min-height: 226px;
    overflow: visible;
    padding: 15px 16px 14px !important;
}

body.le-experts-directory-page .le-card__top {
    gap: 10px;
}

body.le-experts-directory-page .le-card__body h2 {
    font-size: clamp(21px, 1.65vw, 25px);
    margin: 2px 0 3px;
}

body.le-experts-directory-page .le-card__job {
    font-size: 14px;
}

body.le-experts-directory-page .le-card__content {
    display: block;
    flex: 1 1 auto;
    margin-top: 8px;
}

body.le-experts-directory-page .le-card__topics {
    font-size: 12.5px;
    line-height: 1.35;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.le-experts-directory-page .le-card__summary {
    display: -webkit-box;
    font-size: 13px;
    line-height: 1.42;
    margin: 6px 0 0;
    overflow: hidden;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body.le-experts-directory-page .le-card__price {
    align-items: baseline;
    display: inline-flex;
    gap: 7px;
    margin: 9px 0 0;
    min-width: 0;
    padding: 6px 9px;
    white-space: normal;
}

body.le-experts-directory-page .le-card__price span,
body.le-experts-directory-page .le-card__price strong {
    display: inline;
    margin: 0;
}

body.le-experts-directory-page .le-card__price strong {
    font-size: 17px;
}

body.le-experts-directory-page .le-card__footer {
    align-items: flex-end;
    bottom: auto;
    display: flex;
    gap: 10px;
    left: auto;
    margin: 10px 0 0;
    padding: 9px 0 0;
    position: static;
    right: auto;
}

body.le-experts-directory-page .le-card__city {
    font-size: 12px;
    margin-bottom: 5px;
}

body.le-experts-directory-page .le-card__modes {
    gap: 5px;
}

body.le-experts-directory-page .le-card .le-pill {
    font-size: 11.5px;
    padding: 5px 8px;
}

body.le-experts-directory-page .le-card__footer .le-button {
    min-height: 36px;
    min-width: 112px;
    padding: 7px 13px !important;
}

@media (min-width: 1020px) {
    body.le-experts-directory-page .le-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 760px) and (max-width: 1019px) {
    body.le-expert-single-page .le-profile-hero {
        grid-template-columns: 190px minmax(0, 1fr) !important;
    }

    body.le-expert-single-page .le-profile-hero__photo {
        width: 190px;
    }

    body.le-experts-directory-page .le-grid {
        grid-template-columns: 1fr !important;
        max-width: 820px;
    }

    body.le-experts-directory-page .le-card {
        grid-template-columns: 155px minmax(0, 1fr) !important;
        min-height: 216px;
    }

    body.le-experts-directory-page .le-card__media {
        min-height: 216px !important;
    }

    body.le-experts-directory-page .le-card__body {
        min-height: 216px;
    }
}

@media (max-width: 759px) {
    body.le-expert-single-page .le-profile-hero {
        gap: 15px;
        grid-template-columns: 1fr !important;
        padding: 15px;
    }

    body.le-expert-single-page .le-profile-hero__photo {
        justify-self: center;
        width: 146px;
    }

    body.le-expert-single-page .le-profile-photo--placeholder {
        font-size: 54px;
    }

    body.le-expert-single-page .le-profile-hero__content {
        text-align: left;
        width: 100%;
    }

    body.le-expert-single-page .le-profile h1 {
        font-size: clamp(30px, 9.5vw, 38px);
    }

    body.le-expert-single-page .le-profile-actions {
        gap: 8px;
    }

    body.le-expert-single-page .le-profile-actions .le-button {
        flex: 1 1 150px;
    }

    body.le-experts-directory-page .le-directory {
        width: calc(100% - 20px);
    }

    body.le-experts-directory-page .le-grid {
        gap: 12px !important;
        grid-template-columns: 1fr !important;
    }

    body.le-experts-directory-page .le-card {
        grid-template-columns: 108px minmax(0, 1fr) !important;
        min-height: 190px;
    }

    body.le-experts-directory-page .le-card__media {
        align-items: flex-start;
        min-height: 0 !important;
        padding: 8px;
    }

    body.le-experts-directory-page .le-card__image,
    body.le-experts-directory-page .le-card__image--placeholder {
        height: 128px !important;
        max-height: 128px !important;
    }

    body.le-experts-directory-page .le-card__body {
        min-height: 190px;
        padding: 12px 12px 11px !important;
    }

    body.le-experts-directory-page .le-card__top {
        display: block;
    }

    body.le-experts-directory-page .le-card .le-rating {
        margin-top: 5px;
        white-space: normal;
    }

    body.le-experts-directory-page .le-card__body h2 {
        font-size: clamp(19px, 6vw, 23px);
    }

    body.le-experts-directory-page .le-card__topics {
        margin-top: 1px;
    }

    body.le-experts-directory-page .le-card__summary {
        -webkit-line-clamp: 2;
    }

    body.le-experts-directory-page .le-card__price {
        margin-top: 7px;
    }

    body.le-experts-directory-page .le-card__footer {
        align-items: stretch;
        display: block;
        margin-top: 8px;
        padding-top: 8px;
    }

    body.le-experts-directory-page .le-card__footer .le-button {
        margin-top: 8px !important;
        min-height: 36px;
        width: 100%;
    }
}

@media (max-width: 399px) {
    body.le-expert-single-page .le-profile-hero__photo {
        width: 128px;
    }

    body.le-experts-directory-page .le-card {
        grid-template-columns: 96px minmax(0, 1fr) !important;
    }

    body.le-experts-directory-page .le-card__image,
    body.le-experts-directory-page .le-card__image--placeholder {
        height: 116px !important;
        max-height: 116px !important;
    }
}
