@font-face {
    font-family: "fontello";
    src: url("../../../assets/fonts/fontello/fontello.woff2") format("woff2"),
         url("../../../assets/fonts/fontello/fontello.woff") format("woff"),
         url("../../../assets/fonts/fontello/fontello.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
    font-display: block;
}
[class^="icon-"]::before,
[class*=" icon-"]::before {
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    speak: never;
    display: inline-block;
    text-decoration: inherit;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
}
.icon-fb::before                   { content: '\e81f'; }
.icon-instagram::before            { content: '\e820'; }
.icon-location::before             { content: '\e826'; }
.icon-mail::before                 { content: '\e82e'; }
.icon-landscape-contractor::before { content: '\e84c'; }
.icon-landscape-architect::before  { content: '\e85c'; }
.icon-landscape-designer::before   { content: '\e861'; }
.icon-phone::before                { content: '\e865'; }
.icon-landscaper::before           { content: '\e866'; }
.icon-globe::before                { content: '\e867'; }
.icon-check::before                { content: '\e84a'; }
.icon-headphones::before           { content: '\e85f'; }
.icon-es::before                   { content: '\e8b8'; }
.icon-house::before                { content: '\e870'; }
.icon-clock-filled::before         { content: '\e876'; }

/* Landscaper profile page styles */
.landscaper-profile-page :focus { outline: none; }
.landscaper-profile-page h2 { font-size: 24px; }
.landscaper-profile-page h3 { color: var(--gray45); font-size: 1.25rem; }
.landscaper-profile-page { padding: 6.25rem 44px; }
.landscaper__intro > .container { grid-template-columns: 1fr 1fr; }
.landscaper__intro .wp-block-calscape-calscape-two-column-grid-column:first-child { display: flex; }
.landscaper-profile__photo-wrap { flex: 1; min-height: 0; max-height: 418px; }
.landscaper-profile__photo { display: block; width: 100%; height: 100%; object-fit: cover; }

.landscaper-profile__header-info { display: flex; flex-direction: column; gap: 0.75rem; padding-left: 6.5rem; }
.landscaper-profile__name { margin: 0; }

.landscaper-profile__contact-row { display: flex; align-items: center; gap: 8px; font-size: 14px; line-height: 24px; }
.landscaper-profile__contact-row i { flex-shrink: 0; color: var(--theme-blue-light); font-size: 16px; }
.landscaper-profile__social i { font-size: 22px; }
.landscaper-profile__social { gap: 12px; }
.landscaper-profile__social-link { color: var(--theme-blue-light); display: inline-block; transition: transform 0.2s ease; }
.landscaper-profile__social-link:hover { transform: translateY(-6px); }

.landscaper-profile__business-types { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 16px; }
.landscaper-profile__business-types .landscaper-service-item { display: flex; align-items: center; gap: 8px; line-height: 24px; min-width: 0; }
.landscaper-profile__business-types .landscaper-service-item svg { width: 20px; height: 20px; flex-shrink: 0; color: var(--theme-blue-light); }
.landscaper-profile__business-types .landscaper-service-item span { font-size: 14px; color: var(--headline-black); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.landscaper-profile__about { background-repeat: no-repeat; background-position-x: 100%; background-position-y: 0%; padding-bottom: 7.5rem; }
.landscaper-profile__about h2 { margin-bottom: 1.75rem; }
.landscaper-profile__about p { max-width: 38.75rem; }
.landscaper-profile__services-list { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; margin-bottom: 1rem; }
.landscaper-profile__services-item { display: flex; align-items: center; gap: 0.625rem; font-size: 22px; font-weight: 400; }
.landscaper-profile__services-item .icon-check { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background-color: var(--theme-blue-dark); color: #fff; font-size: 14px; flex-shrink: 0; }
.landscaper-profile__highlights { padding-top: 6.25rem; }
.landscaper-profile__highlights h2 { margin-bottom: 1.75rem; }
.landscaper-profile__highlights-list { display: flex; flex-wrap: wrap; gap: 2rem; }
.landscaper-profile__highlight-item { display: flex; flex-direction: row; align-items: center; gap: 0.75rem; }
.landscaper-profile__highlight-item i { display: inline-flex; align-items: center; justify-content: center; width: 100px; height: 100px; border-radius: 50%; background-color: var(--gray50); color: var(--theme-blue-light); font-size: 48px; flex-shrink: 0; }
.landscaper-profile__highlight-item .icon-headphones { transform: translateX(5px); }
.landscaper-profile__highlight-item span { font-size: 1rem; text-align: center; }
.landscaper-profile__project-types { padding-top: 6.25rem; }
.landscaper-profile__project-types h2 { margin-bottom: 1.75rem; }
.landscaper-profile__project-types-list { display: flex; flex-direction: column; gap: 0.75rem; }
.landscaper-profile__gallery-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 3.25rem; }
.landscaper-profile__gallery-header h2 { margin: 0; font-size: 1.5rem; }
.landscaper-profile__gallery-see-all { font-size: 16px; color: var(--theme-blue-light); text-decoration: none; }
.landscaper-profile__gallery-see-all::after { content: '\e80a'; font-family: "fontello"; margin-left: 0.5rem; display: inline-flex; transition: transform 0.2s linear; }
.landscaper-profile__gallery-see-all:hover::after { transform: translateX(-5px); }
.landscaper-profile__gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.landscaper-profile__gallery-image { width: 100%; height: 200px; object-fit: cover; display: block; border-radius: 16px; }
.landscaper-profile__location { padding-top: 6.25rem; padding-bottom: 4.375rem; }
.landscaper-profile__location h2 { margin-bottom: 1.75rem; }
.landscaper-profile__location-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.25rem; }
.landscaper-profile__location-row i { flex-shrink: 0; color: var(--theme-blue-light); font-size: 20px; }
.landscaper-profile__location-label { display: block; color: var(--bs-body-color); font-size: 0.875rem; margin-top: 0.25rem; opacity: 0.5; }

/* Gallery full page */
.landscaper-gallery-full__title { font-size: 24px; margin-bottom: 1.75rem; }
.landscaper-gallery-full__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.landscaper-gallery-full__item { display: block; }
.landscaper-gallery-full__image { width: 100%; height: 200px; object-fit: cover; display: block; border-radius: 1rem; transition: opacity 0.2s ease; }
.landscaper-gallery-full__item:hover .landscaper-gallery-full__image { opacity: 0.85; }
