/* NeVedem mobile presentation, GPL-3.0-or-later. */
.nv-service-filters{display:flex;gap:8px;margin:0 0 12px;padding:1px 0 6px;overflow-x:auto;scrollbar-width:thin}.nv-service-filter{flex:none;min-height:40px;padding:7px 13px;border:1px solid #cbd9d3;border-radius:999px;background:#fff;color:#294d46;font-size:14px;font-weight:700;cursor:pointer}.nv-service-filter.active{border-color:var(--nv-brand,#18665a);background:var(--nv-brand,#18665a);color:#fff}.nv-service-list{display:grid;gap:9px}.nv-service-card{display:grid;width:100%;gap:10px;padding:13px 15px;text-align:left;border:1px solid #cbd9d3;border-radius:16px;background:#fff;color:#173c36;box-shadow:0 2px 8px rgba(23,60,54,.06);cursor:pointer}.nv-service-card.has-image{grid-template-columns:76px minmax(0,1fr)}.nv-service-card:hover{border-color:var(--nv-brand,#18665a)}.nv-service-card.selected{border:2px solid var(--nv-brand,#18665a);padding:12px 14px;box-shadow:0 0 0 2px rgba(0,0,0,.04)}.nv-service-card:focus-visible{outline:3px solid var(--nv-brand,#18665a);outline-offset:2px}.nv-service-thumbnail{width:76px;height:76px;border-radius:12px;object-fit:cover}.nv-service-content{display:grid;min-width:0;gap:3px}.nv-service-category{font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;color:#687b75}.nv-service-name{font-size:17px;font-weight:750;line-height:1.25}.nv-service-meta{font-size:15px;font-weight:700;color:#69445f}.nv-service-description{display:-webkit-box;overflow:hidden;margin-top:2px;color:#526c64;font-size:14px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.nv-service-card.selected .nv-service-description{display:block;overflow:visible}.nv-service-more{width:max-content;margin-top:2px;color:var(--nv-brand,#18665a);font-size:12px;font-weight:750;text-decoration:underline;text-underline-offset:2px}.nv-service-card.selected .nv-service-more{display:none}
@media (max-width: 767px) {
    #book-appointment-wizard { border-radius: 0 !important; }
    #header { padding: 16px !important; gap: 12px; align-items: stretch !important; }
    #company-name { display: grid !important; grid-template-columns: 32px 1fr; column-gap: 10px; text-align: left !important; margin: 0 !important; font-size: 18px !important; }
    #company-logo { grid-row: 1 / span 2; width: 32px; height: 32px; float: none !important; margin: 0 !important; }
    #company-name > div { grid-column: 2; justify-content: flex-start !important; font-size: 13px; }
    #steps { width: auto !important; display: flex !important; gap: 8px; margin: 0 !important; }
    #steps .book-step { width: 28px !important; height: 28px !important; padding: 2px !important; margin: 0 !important; }
    #steps .book-step strong { font-size: 14px !important; line-height: 24px; }
    .wizard-frame .frame-container { min-height: 0 !important; padding-top: 12px !important; }
    .wizard-frame .frame-title { font-size: 24px; margin-bottom: 20px !important; }
    .wizard-frame .form-control, .wizard-frame .form-select { font-size: 16px; min-height: 48px; }
    .wizard-frame .command-buttons { position: sticky; bottom: 0; display: flex !important; gap: 10px; background: var(--bs-body-bg,white); padding: 12px 0; z-index: 5; margin-bottom: 0 !important; }
    .wizard-frame .command-buttons > button { flex: 1; margin: 0 !important; min-height: 48px; min-width: 0 !important; }
    #available-hours { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; max-height: none !important; overflow: visible !important; padding-right: 0 !important; }
    #available-hours .available-hour { padding: 8px 4px; min-height: 44px; margin: 0 !important; font-size: 16px; }
    #select-time { max-width: none !important; }
    #cancel-appointment { min-height: 44px; margin-top: 8px; }
    #message-frame { max-width: 100%; padding: 12px; }
    #nv-private-link { font-size: 16px; }
    input, select, textarea { scroll-margin-bottom: 100px; }
}
/* Shared customer-facing NeVedem credit. */
.nv-brand-credit{text-align:center;padding:22px 12px 12px;border-top:1px solid #dce6e0;margin-top:16px}.nv-brand-credit>strong{display:block;font-size:25px;line-height:1.3;color:#174b41}.nv-brand-credit .nv-creator-credit{display:block;font-size:16px;line-height:1.55;font-weight:600;color:#244d43;margin-top:6px}.nv-brand-credit .nv-platform-credit{display:block;font-size:11px;font-weight:400;color:#65776e;margin-top:14px}.nv-brand-credit .nv-platform-credit a{color:inherit}
/* Desktop company details alongside the booking flow. */
.nv-booking-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.nv-business-sidebar{display:grid;gap:14px;scroll-margin-top:12px}.nv-business-card{padding:20px;border:1px solid #d7e2dc;border-radius:20px;background:var(--bs-body-bg,#fff);color:#24463f;box-shadow:0 8px 24px rgba(23,60,54,.08)}.nv-business-card h2{margin:0 0 13px;color:#173f37;font-size:20px}.nv-business-kicker{display:block;margin-bottom:5px;color:var(--nv-brand,#18665a);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nv-business-intro h2{font-size:23px}.nv-business-address{display:flex;gap:9px;align-items:flex-start;margin:12px 0 0;line-height:1.5}.nv-business-address i{margin-top:4px;color:var(--nv-brand,#18665a)}.nv-contact-links{display:grid;gap:8px;margin-top:15px}.nv-contact-links a,.nv-map-actions a{color:var(--nv-brand,#18665a);font-weight:700;text-decoration:none}.nv-contact-links a{display:flex;gap:9px;align-items:center;overflow-wrap:anywhere}.nv-opening-hours{display:grid;gap:7px;margin:0}.nv-opening-hours>div{display:flex;justify-content:space-between;gap:15px;padding-bottom:6px;border-bottom:1px solid #edf2ef}.nv-opening-hours>div:last-child{padding-bottom:0;border:0}.nv-opening-hours dt{font-weight:600}.nv-opening-hours dd{margin:0;font-weight:750}.nv-empty-reviews{margin:0;color:#5d716a;line-height:1.5}.nv-map-visual{display:flex;height:100px;align-items:center;justify-content:center;gap:9px;margin:-6px -6px 16px;border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--nv-brand,#18665a) 18%,white),#edf4f0);color:var(--nv-brand,#18665a);font-size:18px;font-weight:800}.nv-map-visual i{font-size:26px}.nv-map-card p{font-size:14px;line-height:1.5}.nv-map-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nv-map-actions a{padding:10px 8px;border:1px solid color-mix(in srgb,var(--nv-brand,#18665a) 35%,white);border-radius:12px;text-align:center}
.nv-business-profile{background:#fff;border-bottom:1px solid #e2e9e5}.nv-profile-gallery{display:grid;height:190px;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:3px;overflow-x:auto;background:#e9f1ed}.nv-profile-gallery img{width:100%;height:100%;object-fit:cover}.nv-profile-gallery-placeholder{display:flex;align-items:center;justify-content:center;gap:18px;padding:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--nv-brand,#18665a) 22%,white),#f4eee6);color:#17443b;font-size:25px;font-weight:800;text-align:center}.nv-profile-gallery-placeholder img{flex:none;width:70px;height:70px;object-fit:contain}.nv-profile-gallery-placeholder span{min-width:0;overflow-wrap:anywhere}.nv-profile-content{padding:18px 22px 0}.nv-breadcrumb{display:flex;gap:6px;align-items:center;margin:0 0 8px;color:#6a7c75;font-size:13px;white-space:nowrap;overflow-x:auto}.nv-breadcrumb a{color:inherit;text-decoration:none}.nv-business-profile h1{margin:0;color:#173f37;font-size:28px;line-height:1.2}.nv-profile-address{display:flex;gap:7px;align-items:flex-start;margin:8px 0 15px;color:#526b63;line-height:1.45}.nv-profile-address i{margin-top:4px;color:var(--nv-brand,#18665a)}.nv-profile-nav{display:flex;gap:20px;overflow-x:auto;border-top:1px solid #edf1ef}.nv-profile-nav a{flex:none;padding:13px 0 11px;border-bottom:3px solid transparent;color:#355c53;font-weight:750;text-decoration:none}.nv-profile-nav a.active{border-bottom-color:var(--nv-brand,#18665a);color:var(--nv-brand,#18665a)}#nv-services,#nv-specialists,#nv-reviews{scroll-margin-top:16px}
@media (max-width:1199px){.nv-booking-shell{display:block;max-width:900px;margin-right:auto!important;margin-left:auto!important}.nv-business-sidebar{margin:14px 12px 22px}.nv-business-card{padding:17px;border-radius:17px}.nv-profile-gallery{height:150px}.nv-profile-gallery-placeholder{gap:12px;font-size:21px}.nv-profile-gallery-placeholder img{width:62px;height:62px}.nv-profile-content{padding:14px 18px 0}.nv-business-profile h1{font-size:24px}}

/* Pilot profile: shared content, tailored presentation for desktop and mobile. */
.nv-profile-route{padding:10px 22px;border-bottom:1px solid #edf1ef;background:#fff}.nv-profile-route .nv-breadcrumb{margin:0}.nv-profile-gallery{grid-template-columns:2.2fr repeat(3,1fr);grid-auto-flow:initial;grid-auto-columns:initial;height:250px;overflow:hidden}.nv-profile-gallery img{min-width:0}.nv-info-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px}.nv-info-tabs>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.nv-info-tabs>label{padding:10px 8px;border:1px solid #cad9d3;border-radius:12px;background:#f4f7f5;color:#355c53;font-weight:800;text-align:center;cursor:pointer}.nv-info-tabs>input:focus-visible+label{outline:3px solid var(--nv-brand,#18665a);outline-offset:2px}.nv-info-tabs>input:checked+label{border-color:var(--nv-brand,#18665a);background:var(--nv-brand,#18665a);color:#fff}.nv-info-panels{grid-column:1/-1;padding-top:8px}.nv-info-panel{display:none}.nv-info-tabs #nv-info-contact:checked~.nv-info-panels .nv-contact-panel,.nv-info-tabs #nv-info-hours:checked~.nv-info-panels .nv-hours-panel{display:block}.nv-map-chooser{margin-top:14px}.nv-map-chooser summary{padding:11px 10px;border-radius:12px;background:var(--nv-brand,#18665a);color:#fff;font-weight:800;text-align:center;cursor:pointer;list-style:none}.nv-map-chooser summary::-webkit-details-marker{display:none}.nv-map-chooser[open] summary{margin-bottom:8px}.nv-provider-list{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:16px}.nv-provider-card{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:92px;padding:10px 4px;border:0;border-bottom:1px solid #d5e0db;background:transparent;color:#173c36;text-align:left;cursor:pointer}.nv-provider-card:first-child{border-top:1px solid #d5e0db}.nv-provider-card img{width:64px;height:64px;aspect-ratio:1;border-radius:50%;object-fit:cover}.nv-provider-card>span:not(.nv-provider-action){display:grid;gap:3px;min-width:0}.nv-provider-card strong{font-size:17px;line-height:1.25;overflow-wrap:anywhere}.nv-provider-card small{color:#677a73;font-size:14px;overflow-wrap:anywhere}.nv-provider-card .nv-provider-action{min-width:78px;padding:10px 15px;border-radius:999px;background:var(--nv-brand,#18665a);color:#fff;font-weight:800;text-align:center}.nv-provider-card:hover{background:color-mix(in srgb,var(--nv-brand,#18665a) 5%,transparent)}.nv-provider-card.selected{padding:9px 3px;border:1px solid var(--nv-brand,#18665a);border-radius:14px;background:#fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--nv-brand,#18665a) 12%,transparent)}.nv-provider-card:focus-visible{outline:3px solid var(--nv-brand,#18665a);outline-offset:2px}
@media (max-width:767px){.nv-profile-route{padding:8px 16px}.nv-profile-gallery{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;height:205px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain}.nv-profile-gallery img{scroll-snap-align:start}.nv-profile-content{padding:14px 16px 0}.nv-profile-nav{gap:18px}.nv-provider-list{gap:0}.nv-provider-card{grid-template-columns:56px minmax(0,1fr) auto;gap:9px;min-height:78px;padding:9px 0;border-radius:0}.nv-provider-card.selected{padding:8px 0}.nv-provider-card img{width:52px;height:52px}.nv-provider-card strong{font-size:15px;line-height:1.2}.nv-provider-card small{font-size:13px;line-height:1.25}.nv-provider-card .nv-provider-action{min-width:66px;padding:9px 11px}}

/* Clickable gallery and real location map. */
.nv-gallery-item{position:relative;display:block;min-width:0;height:100%;padding:0;border:0;background:#dfe9e4;cursor:zoom-in;overflow:hidden}.nv-gallery-item img{display:block;transition:transform .25s ease}.nv-gallery-item:hover img{transform:scale(1.025)}.nv-gallery-item:nth-child(n+5){display:none}.nv-gallery-more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(10,31,27,.55);color:#fff;font-size:30px;font-weight:800}.nv-gallery-lightbox{width:min(1100px,94vw);height:min(780px,88vh);padding:0;border:0;border-radius:18px;background:#101816;box-shadow:0 24px 80px rgba(0,0,0,.45);overflow:hidden}.nv-gallery-lightbox::backdrop{background:rgba(4,13,11,.86)}.nv-gallery-lightbox img{width:100%;height:100%;object-fit:contain}.nv-gallery-close,.nv-gallery-previous,.nv-gallery-next{position:absolute;z-index:2;border:0;border-radius:999px;background:rgba(255,255,255,.9);color:#173c36;box-shadow:0 3px 14px rgba(0,0,0,.25);cursor:pointer}.nv-gallery-close{top:14px;right:14px;width:44px;height:44px;font-size:30px;line-height:1}.nv-gallery-previous,.nv-gallery-next{top:50%;width:48px;height:58px;margin-top:-29px;font-size:40px;line-height:1}.nv-gallery-previous{left:14px}.nv-gallery-next{right:14px}.nv-gallery-counter{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.65);color:#fff;font-weight:750}.nv-map-frame{display:block;width:100%;height:190px;margin:0 0 14px;border:0;border-radius:15px}.nv-contact-card .nv-map-frame{width:100%}
@media (max-width:767px){.nv-profile-gallery .nv-gallery-item{display:block;scroll-snap-align:start}.nv-profile-gallery{grid-auto-columns:86%}.nv-gallery-more{display:none}.nv-gallery-lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0}.nv-gallery-previous{left:8px}.nv-gallery-next{right:8px}.nv-map-frame{height:220px}}

.nv-team-section{padding:18px 22px 22px;border-top:1px solid #e8efeb;background:#f7faf8;scroll-margin-top:12px}.nv-team-section[hidden]{display:none}.nv-team-section h2{margin:0 0 13px;color:#173f37;font-size:21px}.nv-team-list{display:grid;grid-template-columns:1fr;gap:0}.nv-team-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:92px;padding:10px 4px;border-bottom:1px solid #dbe5e0;background:transparent}.nv-team-card:first-child{border-top:1px solid #dbe5e0}.nv-team-card img{width:68px;height:68px;border-radius:50%;object-fit:cover}.nv-team-card>div{display:grid;gap:4px;min-width:0}.nv-team-card strong{color:#173c36;font-size:17px;line-height:1.25;overflow-wrap:anywhere}.nv-team-card small{color:#667a73;font-size:14px;overflow-wrap:anywhere}.nv-choose-provider{min-width:82px;min-height:42px;padding:8px 15px;border:0;border-radius:999px;background:var(--nv-brand,#18665a);color:#fff;font-weight:800;cursor:pointer}.nv-service-provider-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 12px;border-radius:13px;background:color-mix(in srgb,var(--nv-brand,#18665a) 12%,white);color:#234f46;font-weight:750}.nv-service-provider-filter[hidden]{display:none}.nv-service-provider-filter button{flex:none;border:0;background:transparent;color:var(--nv-brand,#18665a);font-weight:800;text-decoration:underline;cursor:pointer}
@media (max-width:767px){.nv-team-section{padding:16px}.nv-team-card{grid-template-columns:58px minmax(0,1fr) auto;gap:10px;min-height:80px;padding:9px 0}.nv-team-card img{width:54px;height:54px}.nv-team-card strong{font-size:15px}.nv-team-card small{font-size:13px}.nv-choose-provider{min-width:70px;padding:7px 12px}.nv-service-provider-filter{align-items:flex-start;flex-direction:column}.nv-service-provider-filter button{padding:0}}
/* Compact first booking step, on desktop and mobile. */
#wizard-frame-1 .frame-container{min-height:0!important;padding-top:4px!important;padding-bottom:0!important}
#wizard-frame-1 .nv-entry-fields .form-label{margin-bottom:4px}
#wizard-frame-1 .nv-entry-fields .form-control.mb-3{margin-bottom:10px!important}
#wizard-frame-1 .nv-service-list{margin-bottom:12px!important}
#wizard-frame-1 .nv-provider-list{margin-bottom:0}
#wizard-frame-1 .nv-provider-card{min-height:70px;padding-top:6px;padding-bottom:6px}
#wizard-frame-1 .nv-provider-card img{width:52px;height:52px}
#wizard-frame-1 .command-buttons{margin-top:8px!important;margin-bottom:8px!important}
/* Distinct specialist profile and selection controls. */
#wizard-frame-1 .nv-provider-card{grid-template-columns:minmax(0,1fr) auto;cursor:default}
.nv-provider-profile{display:flex;align-items:center;gap:12px;align-self:stretch;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.nv-provider-profile>span{display:grid;gap:3px;min-width:0}.nv-provider-profile img{flex-shrink:0}.nv-provider-action{border:0;cursor:pointer}
.nv-specialist-dialog{width:min(520px,94vw);max-height:92dvh;overflow:auto;border:0;border-radius:18px;padding:18px;color:#173c36;background:white}
.nv-specialist-dialog::backdrop{background:#0009}.nv-specialist-close{display:block;margin:0 0 12px auto;border:0;background:transparent;padding:8px;cursor:pointer;font-size:16px}
.nv-specialist-photo{width:100%;max-height:58dvh;object-fit:contain;border-radius:12px}.nv-specialist-dialog h2{font-size:24px;margin:14px 0 4px}.nv-specialist-title{margin-bottom:16px}.nv-specialist-choose{width:100%;min-height:46px;position:sticky;bottom:0}
.nv-business-identity{display:flex;align-items:center;gap:12px;margin-bottom:8px}.nv-business-identity>img{width:64px;height:64px;object-fit:contain;flex-shrink:0}.nv-business-identity h1{margin:0}
.nv-profile-nav{flex-wrap:wrap}.nv-profile-nav a{white-space:nowrap}
#book-appointment-wizard #header{padding:12px 16px!important;flex-direction:row!important;gap:12px}#header #company-name,#header #steps{margin-top:0!important;margin-bottom:0!important}#header #company-name{font-size:20px!important}#header #steps{flex-shrink:0}
#book-appointment-wizard .command-buttons{background:transparent!important}
.nv-booking-shell>.nv-brand-credit{grid-column:1/-1;margin:12px 0!important;padding:12px!important;text-align:center}.nv-booking-shell>.nv-brand-credit>strong{font-size:24px!important}.nv-booking-shell>.nv-brand-credit .nv-creator-credit{font-size:15px!important;line-height:1.4!important;margin:6px 0!important}.nv-booking-shell>.nv-brand-credit .nv-platform-credit{font-size:12px!important;margin-top:6px!important}
.nv-service-card .nv-service-description,.nv-service-card.selected .nv-service-description{display:block;overflow:visible;-webkit-line-clamp:unset}
.nv-service-card .nv-service-description.nv-truncated:not(.nv-expanded){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nv-home-request-card{padding:18px;border:1px solid #c8dad4;border-radius:16px;background:#f8fbfa}.nv-home-request-card h3{margin:0 0 5px;color:#173c36;font-size:1.2rem}.nv-home-request-card>p{color:#526c64}.nv-request-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.nv-request-types label{display:flex;align-items:center;gap:7px;min-height:48px;padding:9px 11px;border:1px solid #c8dad4;border-radius:12px;background:#fff;font-weight:700;cursor:pointer}.nv-request-types label:has(input:checked){border-color:var(--nv-brand,#18665a);box-shadow:0 0 0 2px color-mix(in srgb,var(--nv-brand,#18665a) 18%,transparent)}
@media(max-width:700px){.nv-request-types{grid-template-columns:1fr}.nv-home-request-card{padding:14px}}
.nv-service-card .nv-service-more,.nv-service-card.selected .nv-service-more{display:block;border:0;padding:4px 0;background:transparent;cursor:pointer}.nv-service-card .nv-service-more[hidden]{display:none!important}
@media(max-width:767px){.nv-profile-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px!important;overflow:visible!important}.nv-profile-nav a{font-size:14px!important;text-align:center;padding:10px 2px!important}.nv-profile-nav .nv-my-booking,.nv-profile-nav .nv-nav-reviews{grid-column:span 2}.nv-business-identity>img{width:52px;height:52px}#header #company-name{display:block!important;font-size:16px!important}#header #steps{width:auto!important;transform:none;margin-left:0!important;gap:6px}#header #steps .book-step{flex:0 0 28px}}
.nv-social-card .nv-social-links{margin:0!important;justify-content:flex-start!important}.nv-social-card .nv-social-links a{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:8px 10px}.nv-social-card svg{flex-shrink:0}
.nv-credit-account{display:flex;justify-content:flex-end;width:100%;margin-top:10px}.nv-credit-account a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;font-size:18px;font-weight:700;color:inherit;text-decoration:underline;text-underline-offset:3px}
.nv-review{border-top:1px solid #d5e0db;padding:12px 0;overflow-wrap:anywhere}.nv-review p{margin:5px 0;white-space:pre-wrap}.nv-review small{color:#53665f}.nv-review-summary,.nv-dialog-rating{font-weight:700;margin:10px 0}.nv-profile-reviews{margin-top:18px}.nv-specialist-dialog .nv-specialist-choose{position:static}.nv-review-reply{padding:8px;background:#f1f5f3;border-radius:8px}.nv-write-review{display:inline-block;margin-bottom:12px}
.nv-specialist-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}
