/* PLENTURE PUBLIC STYLE SYSTEM V2.3 - FULL-WIDTH FOOTER */
:root{--b:#2563eb;--bd:#1d4ed8;--bs:#eff6ff;--ink:#111827;--txt:#334155;--mut:#64748b;--line:#e2e8f0;--bg:#f8fafc;--ok:#15803d;--oks:#ecfdf3;--r:18px;--rl:26px;--sh:0 14px 38px rgba(15,23,42,.08);--max:1480px;--page-gutter:56px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.site-header-inner{width:min(calc(100% - var(--page-gutter)),var(--max));min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.plenture-brand{display:flex;align-items:center;gap:12px}.plenture-brand-icon{width:48px;height:48px;border-radius:14px;box-shadow:0 8px 24px rgba(15,23,42,.08)}.plenture-brand-copy{display:flex;flex-direction:column;line-height:1.05}.plenture-brand-wordmark{font-size:27px;letter-spacing:-.04em}.plenture-brand-tagline{margin-top:5px;color:var(--b);font-size:13px;font-weight:700}.plenture-header-link{font-weight:760}.plenture-header-link:hover{color:var(--b)}
.hero{background:#fff;border-bottom:1px solid var(--line)}.hero-inner{width:min(calc(100% - var(--page-gutter)),var(--max));margin:auto;padding:40px 0 24px}.hero h1{max-width:940px;margin:0;font-size:clamp(42px,4.7vw,70px);line-height:.98;letter-spacing:-.055em}.hero-copy{margin:16px 0 26px;color:var(--mut);font-size:clamp(17px,1.4vw,21px)}.filters{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.search-field{grid-column:1/-1}.search-field input,.manual-location-field input,.select-field select{width:100%;height:56px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:0 20px;outline:none}.search-field input:focus,.manual-location-field input:focus{border-color:#93c5fd;box-shadow:0 0 0 4px var(--bs)}.location-filter{display:grid;grid-template-columns:auto minmax(260px,470px) minmax(150px,1fr);align-items:center;gap:12px;min-width:0;max-width:100%}.location-button,.today-filter{height:50px;border:1px solid var(--line);border-radius:15px;background:#fff}.location-button{padding:0 20px;font-weight:760;min-width:0;max-width:100%}.manual-location-field input{height:50px}/* PLENTURE LOCATION MOBILE SAFE V1.30 */.location-status{color:var(--b);font-weight:780;white-space:normal;grid-column:1/-1;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}.location-filter>*{min-width:0;max-width:100%;box-sizing:border-box}.select-field{display:none}.today-filter{display:flex;align-items:center;gap:11px;padding:0 18px;font-weight:760;white-space:nowrap}.today-filter input{width:21px;height:21px;accent-color:var(--b)}.category-chips{display:flex;gap:10px;overflow-x:auto;padding-top:12px;scrollbar-width:none}.category-chips::-webkit-scrollbar{display:none}.category-chip,.category-disclosure-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:0 17px;color:var(--ink);font-weight:720;white-space:nowrap}.category-chip:hover,.category-disclosure-toggle:hover{border-color:#93c5fd;background:var(--bs);color:var(--bd)}.category-chip.active,.category-disclosure-toggle.active{border-color:var(--b);background:var(--b);color:#fff}.category-disclosure{display:grid;gap:14px;padding-top:12px}.category-disclosure[hidden]{display:none!important}.category-disclosure-group{display:grid;gap:8px}.category-disclosure-heading{margin:0;color:var(--mut);font-size:13px;font-weight:760}.category-disclosure-grid{display:flex;flex-wrap:wrap;gap:10px}.category-disclosure .category-chip{margin:0}
.marketplace-shell{width:min(calc(100% - var(--page-gutter)),var(--max));margin:auto;padding:42px 0 70px}.service-results-section{position:relative;margin-bottom:48px}.directory-panel,.map-panel{margin-bottom:48px}.results-heading,.marketplace-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.results-heading h2,.marketplace-toolbar h2,.profile-section h2{margin:0;font-size:30px;letter-spacing:-.035em}.result-summary{margin:6px 0 0;color:var(--mut)}.service-slider-controls{display:flex;justify-content:flex-end;gap:10px;margin:0}.service-results-section>.service-slider-controls{position:absolute;top:0;right:0;z-index:2}.service-slider-button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:22px}.service-horizontal-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(310px,360px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 14px}.service-result-card{scroll-snap-align:start;display:grid;grid-template-rows:220px 1fr;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.05);transition:.2s}.service-result-card:hover{transform:translateY(-3px);box-shadow:var(--sh)}.service-card-media{overflow:hidden;background:#e2e8f0}.service-card-image,.service-card-photo-placeholder{width:100%;height:100%;object-fit:cover}.service-card-content{display:flex;flex-direction:column;min-height:306px;padding:20px}.service-card-category{color:var(--b);font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.service-result-title{margin:9px 0 8px;font-size:23px;line-height:1.08;letter-spacing:-.035em}.service-result-description{margin:0 0 15px;color:var(--mut);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.service-card-rating,.service-result-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px 9px;color:var(--mut);font-size:14px}.service-provider-identity{display:flex;min-width:0;align-items:center;gap:8px;margin-top:13px}.service-provider-icon{width:24px;height:24px;flex:0 0 auto;border-radius:7px;object-fit:cover}.service-provider-name{min-width:0;overflow:hidden;color:var(--txt);font-weight:720;text-overflow:ellipsis;white-space:nowrap}.service-new-badge{display:inline-flex;min-height:24px;align-items:center;border-radius:999px;padding:0 9px;background:var(--bs);color:var(--b);font-size:12px;font-weight:780}.specialist-new-badge{display:inline-flex;min-height:22px;align-items:center;border-radius:999px;padding:0 8px;background:var(--bs);color:var(--b);font-size:11px;font-weight:780}.service-card-footer{margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding-top:17px}.service-card-price{min-width:0;font-size:14px;font-weight:820;line-height:1.25;white-space:nowrap}.service-card-request-button,.apple-map-popup-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:13px;background:var(--b);color:#fff!important;padding:0 17px;font-weight:780}.service-card-request-button{min-width:0;padding:0 14px;font-size:14px;white-space:nowrap}.service-card-request-button:hover,.apple-map-popup-link:hover{background:var(--bd)}
.view-switcher{display:flex;padding:4px;border:1px solid var(--line);border-radius:14px;background:#fff}.view-button{min-width:76px;height:42px;border:0;border-radius:10px;background:transparent;color:var(--mut);font-weight:760}.view-button.active{background:var(--b);color:#fff}.status-message{color:var(--mut)}.status-message.error{color:#dc2626}.specialist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.specialist-card{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:14px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 8px 24px rgba(15,23,42,.05);transition:.2s}.specialist-card:hover,.specialist-card.map-synchronized-active{transform:translateY(-2px);box-shadow:var(--sh);border-color:#bfdbfe}.specialist-initials,.profile-initials{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--bs);color:var(--b);font-weight:850}.specialist-avatar,.specialist-initials{width:52px;height:52px;max-width:52px;max-height:52px;flex:0 0 auto;border-radius:50%;object-fit:cover}.specialist-initials{font-size:16px}.specialist-name-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.specialist-title-line{display:flex;min-width:0;align-items:center;gap:8px;flex-wrap:wrap}.specialist-name{margin:0;font-size:18px;font-weight:820;line-height:1.2}.specialist-headline,.specialist-location{margin:3px 0 0;font-size:13px;line-height:1.35}.specialist-badges{margin-top:8px}.specialist-badges:empty{display:none}.specialist-headline,.specialist-location,.profile-headline,.profile-location{color:var(--mut)}.verified-badge,.profile-badge.available{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;padding:0 12px;background:var(--oks);color:var(--ok);font-size:13px;font-weight:780}.profile-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.map-panel{background:#fff;border:1px solid var(--line);border-radius:var(--rl);padding:14px;box-shadow:var(--sh)}.map{height:min(64vh,720px);min-height:480px;border-radius:20px;overflow:hidden}.map-note{margin:12px 6px 2px;color:var(--mut)}.apple-map-popup-card,.map-popup{width:220px;max-width:calc(100vw - 32px);min-width:0;padding:13px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 16px 40px rgba(15,23,42,.18);color:var(--ink);font-size:14px;line-height:1.3}.apple-map-popup-identity{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center}.apple-map-popup-avatar,.apple-map-popup-avatar.specialist-avatar{width:40px;height:40px;max-width:40px;max-height:40px;border-radius:50%;object-fit:cover}.apple-map-popup-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.apple-map-popup-copy strong{overflow:hidden;font-size:16px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.apple-map-popup-copy span{overflow:hidden;color:var(--mut);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.apple-map-popup-status{display:inline-flex;width:fit-content;min-height:22px;align-items:center;margin:9px 0 11px;border-radius:999px;padding:0 8px;background:var(--bs);color:var(--b);font-size:11px;font-weight:780}.apple-map-popup-status img{display:none}.apple-map-popup-link{width:100%;min-height:38px;border-radius:11px;padding:0 13px;font-size:14px;white-space:nowrap}
.profile-page{width:min(calc(100% - var(--page-gutter)),var(--max));margin:auto;padding:24px 0 64px}.profile-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.text-button,.secondary-button{min-height:44px;border-radius:13px;padding:0 17px;font-weight:760}.text-button{border:0;background:transparent;color:var(--b)}.secondary-button{border:1px solid var(--line);background:#fff}.profile-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--rl);box-shadow:0 12px 36px rgba(15,23,42,.07)}.profile-header{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:start;gap:28px;padding:30px 34px;border-bottom:1px solid var(--line)}.profile-header #profileAvatar{width:128px;height:128px;overflow:hidden;border-radius:50%;background:#e2e8f0}.profile-avatar,.profile-header #profileAvatar>.profile-initials{width:100%;height:100%;max-width:none;max-height:none;border-radius:50%}.profile-avatar{object-fit:cover;object-position:center 28%}.profile-header #profileAvatar>.profile-initials{font-size:32px}.profile-heading{min-width:0;padding:2px 0}.profile-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.profile-title-row h1{margin:0;font-size:40px;line-height:1.05;letter-spacing:-.045em}.profile-headline{margin:7px 0 0;color:var(--mut);font-size:19px;font-weight:700}.profile-location{margin:15px 0 0;color:var(--mut);font-size:15px}.profile-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.profile-new-badge{display:inline-flex;min-height:24px;align-items:center;border-radius:999px;padding:0 9px;background:var(--bs);color:var(--b);font-size:12px;font-weight:780}.profile-biography{max-width:760px;margin:16px 0 0;color:var(--txt);font-size:16px;line-height:1.6}.profile-section{padding:26px 34px;border-bottom:1px solid var(--line)}.profile-section h2{margin:0;font-size:30px;line-height:1.15;letter-spacing:-.03em}.profile-services-section{position:relative;min-width:0}.profile-services-section>.service-slider-controls{position:absolute;top:22px;right:34px;margin:0}.profile-services-section>.service-grid{margin-top:20px}.profile-service-card{grid-template-rows:190px 1fr}.profile-service-card .service-provider-identity,.profile-service-card .service-card-rating,.profile-service-card .service-result-meta{display:none}.profile-service-card .service-card-content{min-height:230px;padding:17px}.profile-service-card .service-result-title{font-size:20px}.profile-service-card .service-result-description{-webkit-line-clamp:2;margin-bottom:10px}.portfolio-grid,.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.service-card,.portfolio-card,.review-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.05)}.portfolio-media{position:relative}.portfolio-image,.portfolio-placeholder{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e2e8f0}.portfolio-new-badge{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;background:rgb(255 255 255 / 88%);color:var(--ink);font-size:12px;font-weight:780;box-shadow:0 2px 8px rgb(15 23 42 / 10%)}.portfolio-body,.review-card{padding:18px}.portfolio-card h3{margin:0;font-size:20px}.portfolio-card p,.review-card p{color:var(--mut)}.review-header{display:flex;justify-content:space-between;gap:14px}.review-name{font-weight:800}.review-rating{color:#f59e0b}.empty-state{color:var(--mut)}
.site-footer{background:#fff;border-top:1px solid var(--line)}/* plenture-full-width-shared-footer-v1-16 */.site-footer-inner{width:calc(100% - var(--page-gutter));max-width:none;min-height:96px;margin:auto;display:flex;align-items:center;justify-content:space-between}.site-footer-brand{display:flex;align-items:center;gap:10px}.site-footer-brand img{width:36px;height:36px;border-radius:10px}.site-footer-brand span{display:flex;flex-direction:column}.site-footer-brand small{color:var(--mut)}.site-footer-links{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.site-footer-link{color:var(--b);font-weight:760}.site-footer-disclaimer{width:calc(100% - var(--page-gutter));max-width:none;margin:0 auto;padding:0 0 18px;color:var(--mut);font-size:12px;line-height:1.5}
@media(max-width:900px){.profile-header{grid-template-columns:104px minmax(0,1fr);gap:22px}.profile-header #profileAvatar{width:104px;height:104px}.profile-title-row h1{font-size:36px}}@media(max-width:1000px){.location-filter{grid-template-columns:auto 1fr.specialist-grid,.service-grid,.portfolio-grid,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){:root{--page-gutter:24px}.site-header-inner{width:calc(100% - var(--page-gutter));min-height:66px}.plenture-brand-icon{width:42px;height:42px}.plenture-brand-wordmark{font-size:23px}.plenture-brand-tagline{font-size:11px}.plenture-header-link{font-size:13px}.hero-inner,.marketplace-shell,.profile-page{width:calc(100% - var(--page-gutter))}.hero-inner{padding:27px 0 18px}.hero h1{font-size:40px}.hero-copy{margin:12px 0 19px;font-size:16px}.filters{display:block}.search-field input{height:52px}.location-filter{grid-template-columns:1fr;gap:9px;margin-top:10px;min-width:0;max-width:100%}.location-button,.manual-location-field input,.today-filter{width:100%;height:48px}.today-filter{margin-top:9px}.category-chip{min-height:42px}.marketplace-shell{padding:30px 0 54px}.results-heading h2,.marketplace-toolbar h2,.profile-section h2{font-size:25px}.service-slider-controls{display:none}.service-results-section>.service-slider-controls{position:static}.service-horizontal-track{grid-auto-columns:84vw}.service-result-card{grid-template-rows:190px 1fr}.service-card-content{min-height:286px;padding:17px}.specialist-grid,.service-grid,.portfolio-grid,.review-grid{grid-template-columns:1fr}.map{min-height:420px;height:60vh}.profile-header{grid-template-columns:1fr;gap:18px;padding:20px}.profile-header #profileAvatar{width:96px;height:96px}.profile-header #profileAvatar>.profile-initials{font-size:26px}.profile-title-row{display:block}.profile-title-row h1{font-size:34px}.profile-headline{font-size:18px}.profile-location{margin-top:11px}.profile-section{padding:22px 20px}.profile-services-section>.service-slider-controls{display:none;position:static;margin:0 0 12px}.profile-services-section>.service-grid{margin-top:16px}.profile-service-card{grid-template-rows:180px 1fr}.profile-service-card .service-card-content{min-height:224px}.site-footer-inner{width:calc(100% - var(--page-gutter));min-height:110px;align-items:flex-start;flex-direction:column;justify-content:center;gap:8px}.site-footer-links{justify-content:flex-start}}


}

/* plenture-quick-contact-v1 */
.quick-contact-open {
  overflow: hidden;
}

.quick-contact-overlay {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(15, 23, 42, 0.48);
}

.quick-contact-overlay[hidden] {
  display: none;
}

.quick-contact-card {
  width: min(600px, 100%);
  max-height: min(720px, calc(100vh - 32px));
  overflow: auto;
  border: 1px solid var(--border, #dbe3ee);
  border-radius: 22px;
  background: var(--surface, #ffffff);
  color: var(--text, #0f172a);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22);
}

.quick-contact-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 24px 16px;
  border-bottom: 1px solid var(--border, #e2e8f0);
}

.quick-contact-header h2 {
  margin: 3px 0 0;
  font-size: 24px;
}

.quick-contact-eyebrow {
  color: var(--muted, #64748b);
  font-size: 14px;
}

.quick-contact-note {
  margin: 2px 0 12px;
  color: var(--muted, #64748b);
  font-size: 14px;
}

.quick-contact-close {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border: 1px solid var(--border, #dbe3ee);
  border-radius: 50%;
  background: #ffffff;
  color: #0f172a;
  font-size: 22px;
  cursor: pointer;
}

.quick-contact-status {
  min-height: 20px;
  margin: 10px 24px 0;
  color: var(--muted, #64748b);
  font-size: 14px;
}

.quick-contact-status:empty {
  display: none;
}

.quick-contact-status.error {
  color: #b42318;
}

#quickContactCompose,
#quickContactChat {
  padding: 16px 24px 20px;
}

.quick-contact-field {
  display: grid;
  gap: 7px;
  margin-bottom: 12px;
  color: #0f172a;
  font-weight: 600;
}

.quick-contact-field > span {
  display: block;
}

.quick-contact-field input,
.quick-contact-field textarea,
.quick-contact-composer input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--border, #dbe3ee);
  border-radius: 13px;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
  padding: 11px 13px;
}

.quick-contact-field textarea {
  min-height: 108px;
  resize: vertical;
}

.quick-contact-field input[type="file"] {
  min-height: 44px;
  padding: 6px 8px;
  font-weight: 400;
}

.quick-contact-field input[type="file"]::file-selector-button {
  margin-right: 10px;
  border: 0;
  border-radius: 9px;
  padding: 8px 11px;
  background: #f1f5f9;
  color: #0f172a;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.quick-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.quick-contact-primary {
  min-height: 46px;
  border: 0;
  border-radius: 13px;
  padding: 11px 18px;
  background: #2563eb;
  color: #ffffff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

#quickContactSubmit {
  width: 100%;
  margin-top: 2px;
}

.quick-contact-primary:disabled {
  opacity: 0.6;
  cursor: default;
}

.quick-contact-messages {
  display: grid;
  gap: 10px;
  min-height: 0;
  max-height: 430px;
  overflow: auto;
  padding: 4px 0 16px;
}

.quick-contact-message {
  justify-self: start;
  max-width: 82%;
  border-radius: 16px;
  background: #f1f5f9;
  padding: 10px 12px;
}

.quick-contact-message.own {
  justify-self: end;
  background: #e7f0ff;
}

.quick-contact-message.image-only {
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.quick-contact-message.image-only img {
  margin-top: 0;
}

.quick-contact-message p {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.quick-contact-message img {
  display: block;
  width: min(260px, 100%);
  margin-top: 8px;
  border-radius: 12px;
}

.quick-contact-composer {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  border-top: 1px solid var(--border, #e2e8f0);
  padding-top: 14px;
}

.profile-quick-contact-button {
  margin-left: auto;
  border-color: #0f172a !important;
  background: #0f172a !important;
  color: #ffffff !important;
}

.profile-quick-contact-button:hover {
  border-color: #1e293b !important;
  background: #1e293b !important;
  color: #ffffff !important;
}


/* plenture-live-profile-customer-request-chat-parity-v1 */
.quick-contact-request-section {
  display: grid;
  gap: 12px;
  margin-bottom: 12px;
}

.quick-contact-field select,
.quick-contact-exact-time-fields input,
.quick-contact-exact-time-fields select {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 13px;
  padding: 10px 12px;
  background: #ffffff;
  color: inherit;
  font: inherit;
}

.quick-contact-timing-fieldset {
  min-width: 0;
  border: 0;
  padding: 0;
}

.quick-contact-timing-fieldset legend {
  margin-bottom: 8px;
  font: inherit;
  font-weight: 600;
}

.quick-contact-choice-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.quick-contact-choice,
.quick-contact-secondary,
.quick-contact-composer-more,
.quick-contact-composer-menu button {
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 12px;
  background: #ffffff;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.quick-contact-choice {
  min-height: 44px;
  padding: 9px 11px;
  text-align: left;
}

.quick-contact-choice.selected {
  border-color: #2563eb;
  box-shadow: inset 0 0 0 1px #2563eb;
}

.quick-contact-exact-time {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 10px;
}

.quick-contact-exact-time input {
  width: 18px;
  height: 18px;
  margin: 0;
}

.quick-contact-exact-time-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 10px;
}

.quick-contact-exact-time-fields[hidden] {
  display: none;
}

.quick-contact-inline-status {
  grid-column: 1 / -1;
  min-height: 0;
  font-size: 13px;
  line-height: 1.35;
  color: #64748b;
}

.quick-contact-inline-status.error {
  color: #b91c1c;
}

.quick-contact-location-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.quick-contact-secondary {
  min-height: 46px;
  padding: 10px 12px;
  white-space: nowrap;
}

.quick-contact-composer {
  position: relative;
}

.quick-contact-composer-tools {
  position: relative;
}

.quick-contact-composer-more {
  width: 46px;
  height: 46px;
  padding: 0;
  font-size: 26px;
  line-height: 1;
}

.quick-contact-composer-menu {
  position: absolute;
  left: 0;
  bottom: calc(100% + 8px);
  z-index: 5;
  width: max-content;
  min-width: 170px;
  padding: 6px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 13px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.14);
}

.quick-contact-composer-menu[hidden] {
  display: none;
}

.quick-contact-composer-menu button {
  display: block;
  width: 100%;
  border: 0;
  padding: 9px 10px;
  text-align: left;
}

.quick-contact-chat-photo-status {
  grid-column: 2 / 3;
  font-size: 13px;
  line-height: 1.35;
  color: #64748b;
}

.quick-contact-chat-photo-status[hidden] {
  display: none;
}

@media (max-width: 720px) {
  .quick-contact-overlay {
    align-items: end;
    padding: 8px;
  }

  .quick-contact-card {
    max-height: calc(100dvh - 16px);
    border-radius: 20px;
  }

  .quick-contact-header {
    padding: 17px 18px 14px;
  }

  .quick-contact-status {
    margin-left: 18px;
    margin-right: 18px;
  }

  #quickContactCompose,
  #quickContactChat {
    padding: 14px 18px 18px;
  }

  .quick-contact-field {
    margin-bottom: 11px;
  }

  .quick-contact-field textarea {
    min-height: 96px;
  }

  .quick-contact-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .quick-contact-choice-grid,
  .quick-contact-exact-time-fields,
  .quick-contact-location-actions {
    grid-template-columns: 1fr;
  }

  .quick-contact-secondary {
    width: 100%;
  }

}

/* PLENTURE WEB CHAT TRANSLATION LANGUAGE V2 */
.quick-contact-language-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:10px 24px 0;color:var(--muted,#64748b);font-size:13px
}
.quick-contact-language-row span{font-weight:650}
.quick-contact-language-row select{
  min-height:34px;max-width:190px;border:1px solid var(--border,#dbe3ee);
  border-radius:10px;background:#fff;color:#0f172a;padding:0 28px 0 10px;font:inherit
}
.quick-contact-translation-toggle{
  display:block;margin-top:6px;border:0;background:transparent;padding:0;
  color:inherit;font:inherit;font-size:11px;font-weight:650;opacity:.68;
  text-decoration:underline;text-underline-offset:2px;cursor:pointer
}
@media(max-width:720px){
  .quick-contact-language-row{margin-left:18px;margin-right:18px}
}

/* PLENTURE BLOCK C BROWSER STRUCTURED CHAT V1 */
.quick-contact-message.structured{width:min(100%,520px)}
.quick-contact-message .quick-contact-structured-kicker{margin:0 0 3px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.68}
.quick-contact-message .quick-contact-structured-title{margin:0;font-size:15px;font-weight:780;line-height:1.3}
.quick-contact-message .quick-contact-structured-subtitle{margin-top:3px;font-size:12px;font-weight:650;opacity:.76}
.quick-contact-message .quick-contact-structured-price{margin-top:8px;font-size:20px;font-weight:800;line-height:1.2}
.quick-contact-message .quick-contact-structured-meta{margin-top:7px;font-size:13px;line-height:1.42;white-space:pre-wrap}
.quick-contact-message .quick-contact-structured-status{display:inline-flex;width:fit-content;margin-top:9px;padding:4px 8px;border:1px solid currentColor;border-radius:999px;font-size:11px;font-weight:760;line-height:1;opacity:.8}
.quick-contact-structured-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
.quick-contact-structured-button{min-height:38px;border:1px solid rgb(148 163 184 / 55%);border-radius:11px;background:#fff;padding:0 13px;color:#1f2937;font:inherit;font-size:13px;font-weight:740;cursor:pointer}
.quick-contact-structured-button.primary{border-color:#1d4ed8;background:#2563eb;color:#fff}
.quick-contact-structured-button.secondary{background:#fff;color:#374151}
.quick-contact-structured-button:disabled{cursor:default;opacity:.55}
.quick-contact-message.own .quick-contact-structured-button{border-color:rgb(255 255 255 / 55%);background:#fff;color:#1d4ed8}
.quick-contact-structured-slots{display:grid;gap:7px;margin-top:10px}
.quick-contact-structured-slot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;width:100%;min-height:44px;border:1px solid rgb(148 163 184 / 42%);border-radius:11px;background:rgb(255 255 255 / 72%);padding:8px 10px;color:#1f2937;text-align:left}
.quick-contact-structured-slot small{grid-column:1;font-size:10px;opacity:.65}
.quick-contact-structured-slot strong{grid-column:2;grid-row:1 / span 2;font-size:11px;color:#1d4ed8}
.quick-contact-structured-slot.selected{border-color:#60a5fa;background:#eff6ff}
.quick-contact-message.own .quick-contact-structured-slot{background:#fff}
.quick-contact-structured-project{display:grid;gap:5px;margin-top:10px;padding-top:10px;border-top:1px solid rgb(148 163 184 / 32%)}
.quick-contact-structured-project-title{font-size:13px;font-weight:760;line-height:1.3}
.quick-contact-structured-link{display:inline-flex;width:fit-content;margin-top:8px;color:inherit;font-size:12px;font-weight:760;text-decoration:underline;text-underline-offset:2px}

/* PLENTURE WEB CHAT STRUCTURED GALLERY V1 */
.quick-contact-structured-media{width:min(260px,100%);max-width:100%;margin-top:8px}
.quick-contact-message.image-only .quick-contact-structured-media{margin-top:0}
.quick-contact-structured-media-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:12px;background:#e2e8f0}
.quick-contact-structured-media-track::-webkit-scrollbar{display:none}
.quick-contact-structured-media-slide{display:grid;min-width:0;place-items:center;scroll-snap-align:start;overflow:hidden;background:#e2e8f0}
.quick-contact-structured-media-slide img{display:block;width:100%;max-width:none;height:auto;max-height:280px;margin:0;border-radius:12px;object-fit:contain}
.quick-contact-structured-media-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:5px}
.quick-contact-structured-media-button{display:inline-grid;width:28px;height:28px;place-items:center;border:1px solid rgb(148 163 184 / 45%);border-radius:9px;background:rgb(255 255 255 / 88%);padding:0;color:inherit;font:inherit;font-size:18px;line-height:1;cursor:pointer}
.quick-contact-structured-media-button:disabled{cursor:default;opacity:.38}
.quick-contact-structured-media-count{min-width:38px;font-size:11px;font-weight:650;text-align:center;opacity:.68}

/* PLENTURE CHAT HEADER BELL RESPONSIVE FIX V1 */
/* PLENTURE BROWSER NOTIFICATION BELL TOGGLE V1.2 EXACT */
.quick-contact-header-row{
  display:grid;
  grid-template-columns:max-content minmax(24px,1fr) 44px max-content;
  grid-template-areas:"app spacer notify language";
  align-items:center;
  column-gap:12px;
  row-gap:0;
  margin:10px 24px 0
}
.quick-contact-header-row #quickContactNewRequest,
.quick-contact-header-row #quickContactAppContinue{
  grid-area:app;
  align-self:center;
  justify-self:start
}
.quick-contact-header-row .quick-contact-web-push-row{
  grid-area:notify;
  justify-self:end;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  min-width:44px;
  max-width:44px;
  margin:0
}
.quick-contact-header-row .quick-contact-web-push-row[hidden]{
  display:none!important
}
.quick-contact-header-row .quick-contact-web-push-row .quick-contact-secondary{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px;
  min-height:44px;
  padding:0!important;
  overflow:hidden;
  white-space:nowrap;
  font-size:0!important;
  line-height:1
}
.quick-contact-header-row .quick-contact-web-push-row .quick-contact-secondary::before{
  content:"\1F514";
  display:block;
  font-size:20px;
  line-height:1
}
.quick-contact-header-row .quick-contact-web-push-status{
  display:none;
  position:absolute;
  z-index:8;
  top:52px;
  right:0;
  width:238px;
  padding:12px;
  border:1px solid #dce4f0;
  border-radius:12px;
  background:#fff;
  color:#0f172a;
  box-shadow:0 8px 24px rgb(15 23 42 / 12%);
  font-size:13px;
  line-height:1.4
}
.quick-contact-header-row .quick-contact-web-push-row.is-open .quick-contact-web-push-status{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px
}
.quick-contact-header-row .quick-contact-web-push-status-text{
  display:block
}
.quick-contact-header-row .quick-contact-web-push-action{
  min-height:34px;
  padding:7px 10px;
  border:1px solid #dce4f0;
  border-radius:10px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  font-weight:600;
  cursor:pointer
}
.quick-contact-header-row .quick-contact-language-row{
  grid-area:language;
  justify-self:end;
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:8px;
  width:auto;
  min-width:0;
  margin:0;
  white-space:nowrap
}
.quick-contact-header-row .quick-contact-language-row span{
  white-space:nowrap
}
.quick-contact-header-row .quick-contact-language-row select{
  width:150px;
  max-width:150px;
  min-width:118px
}
@media(max-width:900px){
  .quick-contact-header-row{
    grid-template-columns:44px minmax(0,1fr);
    grid-template-areas:
      "app app"
      "notify language";
    row-gap:10px
  }
  .quick-contact-header-row #quickContactNewRequest,
  .quick-contact-header-row #quickContactAppContinue{
    justify-self:start
  }
  .quick-contact-header-row .quick-contact-web-push-row{
    justify-self:start
  }
  .quick-contact-header-row .quick-contact-language-row{
    justify-self:end
  }
}
@media(max-width:560px){
  .quick-contact-header-row{
    grid-template-columns:minmax(0,1fr) 44px;
    grid-template-areas:
      "app app"
      "language notify";
    column-gap:10px;
    row-gap:10px;
    margin-left:18px;
    margin-right:18px
  }
  .quick-contact-header-row #quickContactNewRequest,
  .quick-contact-header-row #quickContactAppContinue{
    justify-self:start;
    max-width:100%
  }
  .quick-contact-header-row .quick-contact-language-row{
    justify-self:start;
    width:auto;
    max-width:100%;
    min-width:0
  }
  .quick-contact-header-row .quick-contact-language-row select{
    width:132px;
    max-width:132px;
    min-width:96px
  }
  .quick-contact-header-row .quick-contact-web-push-row{
    justify-self:end
  }
}
@media(max-width:390px){
  .quick-contact-header-row{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "app"
      "language"
      "notify";
  }
  .quick-contact-header-row .quick-contact-web-push-row{
    justify-self:start
  }
  .quick-contact-header-row .quick-contact-web-push-status{
    left:0;
    right:auto
  }
}

/* PLENTURE BLOCK E INSTALL QR EXACT HANDOFF V1 */
.quick-contact-install-panel{
  margin:10px 24px 0;
  padding:14px;
  border:1px solid #dce4f0;
  border-radius:14px;
  background:#fff
}
.quick-contact-install-title{
  margin:0 0 10px;
  font-weight:700
}
.quick-contact-install-qr{
  width:184px;
  min-height:184px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 10px
}
.quick-contact-install-qr img,
.quick-contact-install-qr canvas{
  display:block;
  max-width:184px;
  height:auto
}
.quick-contact-install-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px
}
@media(max-width:720px){
  .quick-contact-install-panel{
    margin-left:18px;
    margin-right:18px
  }
}

/* PLENTURE LOCATION HANDOFF UI CONTRACT V1 */
.quick-contact-header-row #quickContactAppContinue{
  flex:0 0 auto;
  text-decoration:none
}
.quick-contact-review-continue{
  margin-top:10px
}

/* PLENTURE BROWSER CHAT PERSISTENCE + WEB PUSH V1 */
.quick-contact-web-push-status{
  max-width:220px;
  color:#64748b;
  font-size:12px;
  line-height:1.35
}
/* PLENTURE BROWSER MULTI-CHATS UI V1.2 */
.plenture-browser-chat-pill{
  position:fixed;
  z-index:950;
  right:20px;
  bottom:20px;
  min-height:40px;
  padding:9px 13px;
  border:1px solid #dce4f0;
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  box-shadow:0 8px 24px rgb(15 23 42 / 12%);
  font:inherit;
  font-weight:600;
  cursor:pointer
}
.plenture-browser-chat-pill[hidden]{
  display:none!important
}
/* PLENTURE BROWSER CHAT UNREAD HIGHLIGHT V1 */
.plenture-browser-chat-pill.is-unread{
  border-color:#2563eb;
  background:#2563eb;
  color:#fff;
  box-shadow:0 8px 24px rgb(37 99 235 / 22%)
}
.plenture-browser-chats-panel{
  position:fixed;
  z-index:951;
  right:20px;
  bottom:70px;
  width:min(360px,calc(100vw - 32px));
  max-height:min(460px,calc(100vh - 120px));
  overflow:auto;
  border:1px solid #dce4f0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 40px rgb(15 23 42 / 16%);
  padding:10px
}
.plenture-browser-chats-panel[hidden]{
  display:none!important
}
.plenture-browser-chats-title{
  padding:5px 7px 9px;
  color:#0f172a;
  font:inherit;
  font-weight:700
}
.plenture-browser-chats-list{
  display:grid;
  gap:6px
}
.plenture-browser-chat-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  border:0;
  border-radius:12px;
  background:transparent;
  padding:10px;
  color:#0f172a;
  font:inherit;
  text-align:left;
  cursor:pointer
}
.plenture-browser-chat-row:hover{
  background:#f5f7fb
}
.plenture-browser-chat-row-copy{
  display:grid;
  gap:3px;
  min-width:0
}
.plenture-browser-chat-row-copy strong,
.plenture-browser-chat-row-copy span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.plenture-browser-chat-row-copy strong{
  font-weight:650
}
.plenture-browser-chat-row-copy span{
  color:#64748b;
  font-size:13px
}
.plenture-browser-chat-unread{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:24px;
  height:24px;
  padding:0 7px;
  border-radius:999px;
  background:#2563eb;
  color:#fff;
  font-size:12px;
  font-weight:700
}
@media(max-width:720px){
  .plenture-browser-chat-pill{
    right:14px;
    bottom:14px
  }
  .plenture-browser-chats-panel{
    right:14px;
    bottom:64px;
    width:calc(100vw - 28px);
    max-height:min(420px,calc(100vh - 100px))
  }
}


/* plenture-customer-category-quick-choices-multiselect-v1 */
.quick-contact-work-suggestions {
  margin-top: 10px;
}

.quick-contact-work-suggestions-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.quick-contact-work-suggestions-head > div {
  min-width: 0;
}

.quick-contact-work-suggestions-head strong {
  display: block;
}

.quick-contact-work-suggestions-head span {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  opacity: .68;
}

.quick-contact-work-suggestion-list {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 1px 7px;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.quick-contact-work-suggestion-chip {
  flex: 0 0 auto;
  min-height: 34px;
  max-width: 260px;
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 999px;
  background: var(--surface, #fff);
  color: inherit;
  padding: 7px 11px;
  font: inherit;
  font-size: 13px;
  line-height: 1.2;
  cursor: pointer;
}

.quick-contact-work-suggestion-chip.selected {
  border-color: currentColor;
  font-weight: 650;
}

.quick-contact-work-suggestion-chip.is-other {
  margin-top: 2px;
}


/* plenture-tags-search-request-ui-stage2-v1 */
.quick-contact-work-suggestions{
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  box-sizing:border-box
}
.quick-contact-work-suggestions-head,
.quick-contact-work-suggestion-list{
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box
}
.quick-contact-work-suggestion-list{
  overscroll-behavior-x:contain
}
.quick-contact-work-suggestion-chip{
  white-space:nowrap
}

/* plenture-clean-external-context-v3_5_29 */
.quick-contact-plenture-attribution {
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(148,163,184,.28);
  text-align:center;
}
.quick-contact-plenture-attribution[hidden]{display:none!important}
.quick-contact-plenture-attribution a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  color:inherit;
  text-decoration:none;
  font-size:13px;
}
.quick-contact-plenture-attribution strong{font-weight:800}
.quick-contact-plenture-attribution span{opacity:.72}
