/* PLENTURE PUBLIC DETAIL STYLE SYSTEM V2 - CONSOLIDATED */
: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 16px 46px rgba(15,23,42,.09);--max:1480px;--page-gutter:56px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}[hidden]{display:none!important}.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}.plenture-brand{display:flex;align-items:center;gap:12px}.plenture-brand-icon{width:48px;height:48px;border-radius:14px}.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}.service-detail-page,.project-detail-page,.project-page{width:min(calc(100% - var(--page-gutter)),var(--max));margin:auto;padding:30px 0 72px}.service-breadcrumbs{display:flex;gap:10px;margin-bottom:22px;color:var(--mut);font-size:14px}.service-breadcrumbs a{color:var(--b);font-weight:720}/* PLENTURE SERVICE RESPONSIVE CONSOLIDATED V1.35 */
.service-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;margin-bottom:22px;color:var(--mut);font-size:14px}
.service-breadcrumbs>*{min-width:0}
.service-breadcrumbs a{color:var(--b);font-weight:720}
.service-breadcrumbs>span:last-child{overflow-wrap:anywhere}
.service-hero-card{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:28px;align-items:start;min-width:0;padding:32px;background:#fff;border:1px solid var(--line);border-radius:var(--rl);box-shadow:var(--sh)}
.service-hero-media,.service-hero-content,.service-cta-row,.service-provider-row,.service-provider-row>div{min-width:0}
.service-hero-media .service-photo-gallery{margin:0}
.service-category,.service-eyebrow,.service-provider-label{color:var(--b);font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.service-hero-content{display:grid;align-content:start;gap:15px;padding-top:6px}
.service-hero-content>h1{margin:0;min-width:0;font-size:clamp(34px,3.5vw,56px);line-height:.98;letter-spacing:-.055em;overflow-wrap:anywhere}
.service-photo-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;border-radius:22px;scrollbar-width:none}
.service-photo-slide{scroll-snap-align:start;min-width:0;aspect-ratio:4/3;overflow:hidden;background:#e2e8f0}
.service-photo-image{width:100%;height:100%;object-fit:cover}
.service-description{margin:0;min-width:0;color:var(--txt);font-size:18px;line-height:1.55;overflow-wrap:anywhere}
.service-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:4px}
.service-price{margin:0;font-size:40px;line-height:1;font-weight:850;white-space:nowrap}
.service-provider-row{width:100%;padding:18px 20px;border:1px solid #dbeafe;border-radius:20px;background:#f8fbff}
.service-provider-name{display:inline-block;max-width:100%;margin-top:8px;font-size:23px;font-weight:820;overflow-wrap:anywhere}
.service-area{margin:4px 0 0;color:var(--mut)}
.service-primary-action{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:50px;border:0;border-radius:14px;background:var(--b);color:#fff;padding:0 22px;font-weight:790;text-align:center;white-space:normal;overflow-wrap:anywhere}
.service-primary-action:hover{background:var(--bd)}
.service-related-section,.service-reviews-section,.service-faq-section{min-width:0;margin-top:34px;padding:32px;background:#fff;border:1px solid var(--line);border-radius:var(--rl);box-shadow:0 8px 24px rgba(15,23,42,.05)}
.service-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;min-width:0;margin-bottom:22px}
.service-section-heading>div{min-width:0}
.service-section-heading h2{margin:4px 0 0;font-size:34px;letter-spacing:-.04em;overflow-wrap:anywhere}
.service-section-heading>a{flex:0 0 auto;color:var(--b);font-weight:760}
.service-work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;min-width:0}
.service-work-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.service-work-image,.service-work-placeholder{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e2e8f0}
.service-work-body{min-width:0;padding:17px}
.service-work-body h3{margin:0;min-width:0;font-size:20px;overflow-wrap:anywhere}
.service-work-body p{color:var(--mut);overflow-wrap:anywhere}
.service-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
.service-review-card{min-width:0;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--bg)}
.service-review-card-heading{display:flex;justify-content:space-between;gap:12px;min-width:0}
.service-review-stars{color:#f59e0b}
.service-review-card p{color:var(--txt);overflow-wrap:anywhere}
.service-review-card time,.service-review-summary-empty{color:var(--mut)}
.service-faq-list{display:grid;gap:12px;min-width:0}
.service-faq-item{min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--bg);padding:0 18px}
.service-faq-item summary{padding:18px 0;font-weight:790;cursor:pointer;overflow-wrap:anywhere}
.service-faq-item p{margin:0 0 18px;color:var(--txt);overflow-wrap:anywhere}
@media (max-width:900px){
  .service-detail-page{width:min(calc(100% - 32px),var(--max));padding:22px 0 56px}
  .service-hero-card{grid-template-columns:minmax(0,1fr);gap:22px;padding:24px}
  .service-hero-content{padding-top:0}
  .service-work-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,78vw);grid-template-columns:none;gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding:2px 2px 14px;scrollbar-width:none}
  .service-work-card{scroll-snap-align:start}
}
@media (max-width:640px){
  .service-detail-page{width:min(calc(100% - 24px),var(--max));padding:18px 0 44px}
  .service-breadcrumbs{gap:6px 8px;margin-bottom:16px;font-size:13px;line-height:1.35}
  .service-breadcrumbs>span:last-child{flex-basis:100%}
  .service-hero-card{gap:18px;padding:16px;border-radius:22px}
  .service-photo-track{border-radius:16px}
  .service-hero-content{gap:13px}
  .service-hero-content>h1{font-size:clamp(30px,10vw,40px);line-height:1.02;letter-spacing:-.045em}
  .service-description{font-size:16px;line-height:1.5}
  .service-cta-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px}
  .service-price{font-size:36px}
  .service-primary-action{width:100%;min-height:52px;padding:10px 16px}
  .service-provider-row{padding:16px;border-radius:16px}
  .service-provider-name{font-size:21px}
  .service-related-section,.service-reviews-section,.service-faq-section{margin-top:22px;padding:18px 16px;border-radius:22px}
  .service-section-heading{align-items:flex-start;gap:14px}
  .service-section-heading h2{font-size:30px}
  .service-section-heading>a{max-width:44%;text-align:right;line-height:1.3;white-space:normal}
  .service-work-grid{grid-auto-columns:minmax(232px,82vw);gap:14px;margin-right:-4px}
  .service-work-body{padding:14px}
  .service-work-body h3{font-size:18px;line-height:1.25}
  .service-review-list{grid-template-columns:minmax(0,1fr)}
  .service-review-card-heading{flex-wrap:wrap}
}
@media (max-width:380px){
  .service-detail-page{width:min(calc(100% - 20px),var(--max))}
  .service-hero-card{padding:14px}
  .service-hero-content>h1{font-size:clamp(28px,9.5vw,36px)}
  .service-section-heading{display:grid;grid-template-columns:minmax(0,1fr)}
  .service-section-heading>a{max-width:none;text-align:left}
  .service-work-grid{grid-auto-columns:minmax(220px,84vw)}
}

/* PLENTURE SERVICE REQUEST CHAT CONSOLIDATED V1 */
body.service-request-open{overflow:hidden}
.service-request-overlay[hidden],.service-request-panel[hidden],.service-chat-panel[hidden],.service-request-field[hidden]{display:none!important}
.service-request-overlay{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;background:rgb(15 23 42 / 48%);backdrop-filter:blur(10px)}
.service-request-shell{display:flex;width:min(660px,100%);max-height:min(820px,calc(100vh - 48px));overflow:hidden;flex-direction:column;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 28px 90px rgb(15 23 42 / 24%)}
.service-request-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 24px 18px;border-bottom:1px solid var(--line)}
.service-request-header h2{margin:2px 0 0;font-size:clamp(22px,4vw,30px);line-height:1.16}
.service-request-eyebrow,.service-request-step{margin:0;color:var(--b);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.service-request-professional{margin:7px 0 0;color:var(--mut);font-size:14px}
.service-request-close{width:38px;height:38px;flex:0 0 auto;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:24px;line-height:1}
.service-request-status{min-height:22px;padding:10px 24px 0;color:var(--mut);font-size:14px}
.service-request-status:empty{min-height:0;padding-top:0}
.service-request-status.error{color:#b42318}
.service-request-panel,.service-chat-panel{min-height:0;overflow:auto;padding:18px 24px 24px}
.service-request-panel h3{margin:8px 0 20px;font-size:24px;line-height:1.25}
.service-auth-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:20px;padding:4px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}
.service-auth-switch>button{min-width:0;min-height:42px;border:0;border-radius:10px;background:transparent;color:var(--mut);font-weight:700}
.service-auth-tab.active{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgb(15 23 42 / 10%)}
#serviceAuthForm{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;margin-top:18px}
.service-request-field{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;margin-bottom:16px;color:var(--ink);font-size:14px;font-weight:600}
#serviceAuthForm .service-request-field{margin-bottom:0}
.service-request-field span{display:block;color:var(--txt);font-size:14px;font-weight:720;line-height:1.3}
.service-request-field input,.service-request-field textarea,.service-chat-composer textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--txt);outline:none;font:inherit}
.service-request-field input{height:50px;padding:0 15px;appearance:none}
.service-request-field textarea{min-height:150px;padding:13px 14px;resize:vertical}
.service-request-field input:focus,.service-request-field textarea:focus,.service-chat-composer textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 4px var(--bs)}
.service-request-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.service-request-actions.split{justify-content:space-between}
.service-request-primary,.service-request-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:13px;font-weight:700;text-align:center}
.service-request-primary{border:1px solid var(--b);background:var(--b);color:#fff}
.service-request-primary:hover{background:var(--bd)}
.service-request-secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}
.service-request-primary:disabled,.service-request-secondary:disabled,.service-chat-composer button:disabled{cursor:wait;opacity:.58}
#serviceAuthSubmit{max-width:100%;justify-self:start}
.service-timing-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.service-timing-choice{min-height:50px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-align:left}
.service-timing-choice.active{border-color:var(--b);background:var(--bs);color:var(--b)}
.service-request-photo-picker{display:grid;gap:10px;padding:20px;border:1px dashed #b8c1cf;border-radius:16px;background:var(--bg);font-weight:600;cursor:pointer}
.service-request-photo-picker input{width:100%}
.service-request-photo-list{display:grid;gap:8px;margin-top:14px;color:var(--mut);font-size:13px}
.service-request-photo-list p{margin:0}
.service-request-photo-row{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.service-chat-panel{display:flex;min-height:480px;flex-direction:column;padding:0}
.service-chat-context{display:flex;gap:8px;padding:12px 24px;border-bottom:1px solid var(--line);color:var(--mut);font-size:13px}
.service-chat-context strong{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}
.service-chat-messages{display:flex;min-height:300px;overflow:auto;flex:1;flex-direction:column;gap:10px;padding:18px 24px;background:var(--bg)}
.service-chat-message{width:fit-content;max-width:min(82%,480px);padding:11px 13px 8px;border:1px solid var(--line);border-radius:16px 16px 16px 5px;background:#fff;color:var(--ink)}
.service-chat-message.own{align-self:flex-end;border-color:rgb(37 99 235 / 15%);border-radius:16px 16px 5px 16px;background:#e7f0ff;color:var(--ink)}
.service-chat-message p{margin:0;white-space:pre-wrap}
.service-chat-message img{display:block;width:min(280px,100%);max-height:260px;margin-top:9px;border-radius:12px;object-fit:cover}
.service-chat-message time{display:block;margin-top:5px;color:currentColor;font-size:11px;opacity:.68;text-align:right}
.service-chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:14px 18px;border-top:1px solid var(--line);background:#fff}
.service-chat-composer textarea{min-height:44px;max-height:130px;padding:11px 13px;resize:vertical}
.service-chat-composer button{min-height:44px;padding:0 17px;border:0;border-radius:13px;background:var(--b);color:#fff;font-weight:700}
@media(max-width:640px){
.service-request-overlay{align-items:end;padding:0}
.service-request-shell{width:100%;max-height:94dvh;border-radius:24px 24px 0 0}
.service-request-header{padding:20px 18px 16px}
.service-request-status{padding-right:18px;padding-left:18px}
.service-request-panel{padding:16px 18px 22px}
.service-timing-choices{grid-template-columns:1fr}
.service-request-actions,.service-request-actions.split{gap:10px}
.service-request-primary,.service-request-secondary{flex:1}
#serviceAuthSubmit{width:100%;justify-self:stretch}
.service-chat-panel{min-height:min(620px,76vh)}
.service-chat-messages{padding:16px 14px}
.service-chat-composer{padding:12px}
}

/* PLENTURE WEB CHAT TRANSLATION LANGUAGE V2 */
.service-chat-language-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:10px 24px 0;color:var(--mut);font-size:13px
}
.service-chat-language-row span{font-weight:650}
.service-chat-language-row select{
  min-height:34px;max-width:190px;border:1px solid var(--line);
  border-radius:10px;background:#fff;color:var(--ink);padding:0 28px 0 10px;font:inherit
}
.service-chat-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:640px){
  .service-chat-language-row{margin-left:18px;margin-right:18px}
}

/* PLENTURE BLOCK C BROWSER STRUCTURED CHAT V1 */
.service-chat-message.structured{width:min(100%,520px)}
.service-chat-message .service-chat-structured-kicker{margin:0 0 3px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.68}
.service-chat-message .service-chat-structured-title{margin:0;font-size:15px;font-weight:780;line-height:1.3}
.service-chat-message .service-chat-structured-subtitle{margin-top:3px;font-size:12px;font-weight:650;opacity:.76}
.service-chat-message .service-chat-structured-price{margin-top:8px;font-size:20px;font-weight:800;line-height:1.2}
.service-chat-message .service-chat-structured-meta{margin-top:7px;font-size:13px;line-height:1.42;white-space:pre-wrap}
.service-chat-message .service-chat-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}
.service-chat-structured-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
.service-chat-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}
.service-chat-structured-button.primary{border-color:#1d4ed8;background:#2563eb;color:#fff}
.service-chat-structured-button.secondary{background:#fff;color:#374151}
.service-chat-structured-button:disabled{cursor:default;opacity:.55}
.service-chat-message.own .service-chat-structured-button{border-color:rgb(255 255 255 / 55%);background:#fff;color:#1d4ed8}
.service-chat-structured-slots{display:grid;gap:7px;margin-top:10px}
.service-chat-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}
.service-chat-structured-slot small{grid-column:1;font-size:10px;opacity:.65}
.service-chat-structured-slot strong{grid-column:2;grid-row:1 / span 2;font-size:11px;color:#1d4ed8}
.service-chat-structured-slot.selected{border-color:#60a5fa;background:#eff6ff}
.service-chat-message.own .service-chat-structured-slot{background:#fff}
.service-chat-structured-project{display:grid;gap:5px;margin-top:10px;padding-top:10px;border-top:1px solid rgb(148 163 184 / 32%)}
.service-chat-structured-project-title{font-size:13px;font-weight:760;line-height:1.3}
.service-chat-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 */
.service-chat-structured-media{width:min(280px,100%);max-width:100%;margin-top:8px}
.service-chat-message.image-only .service-chat-structured-media{margin-top:0}
.service-chat-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}
.service-chat-structured-media-track::-webkit-scrollbar{display:none}
.service-chat-structured-media-slide{display:grid;min-width:0;place-items:center;scroll-snap-align:start;overflow:hidden;background:#e2e8f0}
.service-chat-structured-media-slide img{display:block;width:100%;max-width:none;height:auto;max-height:280px;margin:0;border-radius:12px;object-fit:contain}
.service-chat-structured-media-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:5px}
.service-chat-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}
.service-chat-structured-media-button:disabled{cursor:default;opacity:.38}
.service-chat-structured-media-count{min-width:38px;font-size:11px;font-weight:650;text-align:center;opacity:.68}

/* plenture-service-order-standard-request-parity-v1_1 */
.service-exact-time-toggle{display:flex;align-items:center;gap:10px;margin:18px 0 0;color:var(--ink);font-size:14px;font-weight:650;line-height:1.35}
.service-exact-time-toggle input{width:18px;height:18px;margin:0;accent-color:var(--b)}
.service-exact-time-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:12px}
.service-exact-time-fields[hidden]{display:none}
.service-exact-time-fields input,.service-exact-time-fields select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:0 13px;color:var(--ink);font:inherit}
.service-exact-time-fields input:focus,.service-exact-time-fields select:focus{border-color:#93c5fd;outline:0;box-shadow:0 0 0 4px var(--bs)}
.service-booking-status{grid-column:1/-1;min-height:18px;color:var(--mut);font-size:12px;line-height:1.4}
.service-booking-status.error{color:#b42318}
.service-request-note{margin:6px 0 14px;color:var(--mut);font-size:13px;font-weight:500;line-height:1.45}
.service-chat-app-continue{flex:0 0 auto;margin-left:auto;min-height:38px;padding:0 12px;text-decoration:none;white-space:nowrap}
@media(max-width:640px){.service-exact-time-fields{grid-template-columns:1fr}.service-chat-app-continue{flex:0 0 auto}}

