/* XSIZE AI Chat v1 — isolated styles, no global selectors */
:root {
  --xsc-primary:#cc8b68; --xsc-primary-dark:#9c5e40; --xsc-text:#171210;
  --xsc-muted:#947d72; --xsc-bg:#fff8f3; --xsc-surface:#fffaf7;
  --xsc-surface-alt:#f8e8de; --xsc-border:#efd4c5; --xsc-radius:26px;
  --xsc-shadow:0 22px 55px rgba(107,67,48,.20);
}
.xsc-root,.xsc-root *{box-sizing:border-box}
.xsc-root{font-family:Montserrat,Arial,sans-serif;color:var(--xsc-text);line-height:1.35;position:relative;z-index:2147482600}
.xsc-hidden{display:none!important}

/* Launcher */
.xsc-launcher{position:fixed;right:18px;bottom:18px;width:132px;height:156px;z-index:2147482600;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;cursor:pointer;border:0;background:transparent;padding:0;filter:drop-shadow(0 12px 23px rgba(103,63,43,.20));transition:transform .18s ease,filter .18s ease}
.xsc-launcher:hover{transform:translateY(-3px);filter:drop-shadow(0 15px 27px rgba(103,63,43,.28))}
.xsc-launcher:focus-visible{outline:3px solid rgba(204,139,104,.36);outline-offset:4px;border-radius:30px}
.xsc-launcher.xsc-left{left:18px;right:auto}
.xsc-launcher__bubble{min-width:120px;max-width:156px;background:rgba(255,250,247,.97);border:1px solid rgba(214,163,136,.55);border-radius:18px;padding:10px 13px;margin-bottom:9px;font-size:14px;font-weight:600;text-align:center;box-shadow:0 8px 25px rgba(118,74,55,.12);position:relative}
.xsc-launcher__bubble:after{content:"";position:absolute;bottom:-9px;left:50%;transform:translateX(-50%) rotate(45deg);width:17px;height:17px;background:rgba(255,250,247,.98);border-right:1px solid rgba(214,163,136,.55);border-bottom:1px solid rgba(214,163,136,.55)}
.xsc-launcher__figure{width:92px;height:92px;border-radius:50%;overflow:hidden;background:#f7d9c7;border:2px solid rgba(204,139,104,.58);box-shadow:0 10px 23px rgba(105,64,45,.18);position:relative}
.xsc-launcher__figure img{display:block;user-select:none;-webkit-user-drag:none}
.xsc-launcher__figure.xsc-crop-default img{width:124px;height:196px;max-width:none;transform:translate(-16px,-99px)}
.xsc-launcher__figure.xsc-image-whole img{width:100%;height:100%;object-fit:cover;transform:none}
.xsc-launcher__badge{position:absolute;right:-1px;bottom:3px;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:#b64f41;color:white;border:2px solid white;display:none;place-items:center;font-size:12px;font-weight:700}
.xsc-launcher__badge.is-on{display:grid}

/* Window */
.xsc-panel{position:fixed;bottom:22px;width:min(390px,calc(100vw - 24px));height:min(650px,calc(100vh - 44px));background:linear-gradient(155deg,#fffaf7 0%,#fff7f1 55%,#faeee6 100%);border:1px solid rgba(222,178,155,.70);border-radius:28px;box-shadow:var(--xsc-shadow);overflow:hidden;display:flex;flex-direction:column;z-index:2147482700;opacity:0;transform:translateY(16px) scale(.985);pointer-events:none;transition:opacity .19s ease,transform .19s ease}
.xsc-panel.xsc-left{left:22px}.xsc-panel.xsc-right{right:22px}
.xsc-panel.is-open{opacity:1;transform:none;pointer-events:auto}
.xsc-panel:before{content:"";position:absolute;right:-58px;top:150px;width:185px;height:270px;opacity:.12;background:radial-gradient(ellipse at center,#bf7b55 0 9%,transparent 10%),radial-gradient(ellipse at 60% 30%,#bf7b55 0 6%,transparent 7%);pointer-events:none}
.xsc-head{height:72px;flex:0 0 72px;display:flex;align-items:center;padding:11px 14px 10px 16px;border-bottom:1px solid rgba(225,186,166,.62);background:rgba(255,250,247,.92);backdrop-filter:blur(8px);position:relative;z-index:2}
.xsc-brand{display:flex;align-items:center;gap:10px;min-width:0}
.xsc-brand__mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#f7dfd2;border:1px solid var(--xsc-border);font-weight:800;font-size:16px;letter-spacing:-1px}
.xsc-brand__txt{min-width:0}.xsc-brand__name{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xsc-brand__status{font-size:11px;color:var(--xsc-muted);margin-top:2px;display:flex;gap:5px;align-items:center}.xsc-dot{width:6px;height:6px;border-radius:50%;background:#5fa66b;display:inline-block}
.xsc-head__actions{margin-left:auto;display:flex;gap:5px}
.xsc-iconbtn{border:0;background:transparent;color:#805f50;width:36px;height:36px;border-radius:50%;cursor:pointer;display:grid;place-items:center;font-size:19px}.xsc-iconbtn:hover{background:#f7e8df}

.xsc-sitebar{margin:10px 13px 0;padding:9px 11px;border:1px solid var(--xsc-border);border-radius:18px;background:rgba(255,250,247,.77);display:flex;align-items:center;gap:9px;position:relative;z-index:1}
.xsc-sitebar__text{font-size:11px;line-height:1.25;flex:1;color:#513e35}.xsc-sitebar__btn{border:0;background:var(--xsc-primary);color:#fff;border-radius:14px;padding:8px 11px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}

.xsc-scroll{flex:1;overflow-y:auto;padding:12px 14px 10px;scroll-behavior:smooth;overscroll-behavior:contain;position:relative;z-index:1}
.xsc-scroll::-webkit-scrollbar{width:6px}.xsc-scroll::-webkit-scrollbar-thumb{background:#e5c2ae;border-radius:8px}
.xsc-day{text-align:center;color:#ad9589;font-size:10px;margin:1px 0 10px}
.xsc-row{display:flex;align-items:flex-end;gap:7px;margin:0 0 9px}.xsc-row.user{justify-content:flex-end}.xsc-row.assistant,.xsc-row.admin{justify-content:flex-start}
.xsc-avatar{width:28px;height:28px;border-radius:50%;background:#f4d9ca;border:1px solid #ecc9b5;display:grid;place-items:center;font-weight:800;font-size:11px;flex:0 0 28px;margin-bottom:2px}
.xsc-avatar.admin{background:#e7c5b2}
.xsc-msg{max-width:82%;padding:10px 12px 8px;border-radius:18px;font-size:13px;white-space:pre-wrap;word-break:break-word;box-shadow:0 4px 13px rgba(120,77,58,.06);border:1px solid rgba(231,198,181,.67)}
.xsc-row.assistant .xsc-msg,.xsc-row.admin .xsc-msg{background:rgba(255,251,248,.94);border-bottom-left-radius:7px}.xsc-row.user .xsc-msg{background:linear-gradient(145deg,#f6dfd3,#f2cdbc);border-bottom-right-radius:7px}
.xsc-row.admin .xsc-msg{border-color:#d4a687;background:#fff3ea}.xsc-admin-label{font-size:10px;font-weight:700;color:#a46648;margin-bottom:3px}
.xsc-time{font-size:9px;color:#b29c91;text-align:right;margin-top:5px;line-height:1}
.xsc-typing{display:inline-flex;gap:4px;padding:11px 14px}.xsc-typing i{width:6px;height:6px;background:#c49d89;border-radius:50%;animation:xsc-dot 1.1s infinite}.xsc-typing i:nth-child(2){animation-delay:.15s}.xsc-typing i:nth-child(3){animation-delay:.3s}@keyframes xsc-dot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}

.xsc-quick{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:3px 0 12px 35px}.xsc-quick button{border:1px solid var(--xsc-border);background:rgba(255,250,247,.88);border-radius:14px;padding:9px 8px;font-size:11px;color:#44342d;cursor:pointer;min-height:38px}.xsc-quick button:hover{background:#f7e6dc;border-color:#dfb49c}

.xsc-consent{padding:0 16px 7px;color:#a28b80;font-size:8.5px;line-height:1.25;background:rgba(255,250,247,.82)}
.xsc-compose{padding:9px 11px 11px;background:rgba(255,250,247,.96);border-top:1px solid rgba(225,186,166,.62);display:flex;gap:8px;align-items:flex-end;position:relative;z-index:2}
.xsc-input{flex:1;min-height:44px;max-height:108px;border:1px solid var(--xsc-border);border-radius:23px;background:#fff;padding:12px 14px;font:inherit;font-size:13px;color:var(--xsc-text);resize:none;outline:none;overflow:auto}.xsc-input:focus{border-color:var(--xsc-primary);box-shadow:0 0 0 3px rgba(204,139,104,.13)}
.xsc-send{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:50%;background:linear-gradient(145deg,var(--xsc-primary),var(--xsc-primary-dark));color:#fff;cursor:pointer;display:grid;place-items:center;font-size:20px;box-shadow:0 7px 16px rgba(170,100,68,.23)}.xsc-send:disabled{opacity:.45;cursor:default}

/* Fullscreen ad/mobile mode */
body.xsc-fullscreen-body{margin:0!important;background:var(--xsc-bg)!important;overflow:hidden!important}
.xsc-root.xsc-fullscreen .xsc-launcher{display:none!important}
.xsc-root.xsc-fullscreen .xsc-panel{inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border:0;border-radius:0;opacity:1;transform:none;pointer-events:auto}
.xsc-root.xsc-fullscreen .xsc-head{height:78px;flex-basis:78px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-top:max(10px,env(safe-area-inset-top))}
.xsc-root.xsc-fullscreen .xsc-scroll{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.xsc-root.xsc-fullscreen .xsc-compose{padding-bottom:max(11px,env(safe-area-inset-bottom))}
.xsc-root.xsc-fullscreen .xsc-msg{max-width:78%;font-size:15px}.xsc-root.xsc-fullscreen .xsc-quick{grid-template-columns:repeat(2,1fr)}

@media(max-width:650px){
  .xsc-launcher{transform:none;transform-origin:right bottom}.xsc-launcher:hover{transform:translateY(-2px)}
  .xsc-panel{inset:0!important;width:100vw!important;height:100dvh!important;border:0;border-radius:0;max-width:none;max-height:none}
  .xsc-msg{max-width:84%;font-size:14px}.xsc-quick{margin-left:35px}.xsc-head{padding-top:max(10px,env(safe-area-inset-top));height:74px;flex-basis:74px}.xsc-compose{padding-bottom:max(11px,env(safe-area-inset-bottom))}
}


/* V5.3: independent mobile launcher size/position + notification consent card */
.xsc-notify-offer{align-items:flex-start;margin-bottom:11px}
.xsc-notify-offer .xsc-avatar{background:#fff0e7;border-color:var(--xsc-border);font-size:14px}
.xsc-notify-offer .xsc-msg{max-width:calc(100% - 36px);background:linear-gradient(145deg,#fffaf7,#fff3eb);border-color:var(--xsc-border);padding:11px 12px 12px}
.xsc-notify-offer__title{font-weight:800;font-size:12px;margin-bottom:4px;color:var(--xsc-text)}
.xsc-notify-offer__text{font-size:11.5px;line-height:1.4;color:#684f43;white-space:normal}
.xsc-notify-offer__btn{margin-top:9px;width:100%;border:0;border-radius:13px;padding:9px 10px;background:linear-gradient(145deg,var(--xsc-primary),var(--xsc-primary-dark));color:#fff;font:inherit;font-size:11px;font-weight:750;cursor:pointer;box-shadow:0 5px 12px rgba(156,94,64,.16)}
.xsc-notify-offer__btn:hover{filter:brightness(.98)}
.xsc-notify-offer__btn:disabled{opacity:.55;cursor:default}

/* V5.4: deterministic YCLIENTS flow, separate PD consent form, gentle message sound UI */
.xsc-msg-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.xsc-msg-actions button{border:1px solid var(--xsc-border);background:#fff7f2;color:#4c372d;border-radius:12px;padding:7px 9px;font:inherit;font-size:10.5px;font-weight:650;cursor:pointer;line-height:1.2}
.xsc-msg-actions button:hover{background:#f6e2d7;border-color:#ddb098}
.xsc-contact-card{margin-top:10px;padding:10px;border:1px solid var(--xsc-border);border-radius:14px;background:#fffaf7;display:grid;gap:8px;white-space:normal}
.xsc-contact-card input[type="text"],.xsc-contact-card input[type="tel"],.xsc-contact-card input:not([type]){width:100%;border:1px solid var(--xsc-border);background:white;border-radius:12px;padding:9px 10px;font:inherit;font-size:12px;outline:none}
.xsc-contact-card input:focus{border-color:var(--xsc-primary);box-shadow:0 0 0 3px rgba(204,139,104,.12)}
.xsc-consent-check{display:flex;align-items:flex-start;gap:7px;font-size:10.5px;line-height:1.35;color:#5e473c;cursor:pointer}
.xsc-consent-check input{margin-top:2px;flex:0 0 auto;accent-color:var(--xsc-primary)}
.xsc-consent-check a,.xsc-contact-privacy a{color:var(--xsc-primary-dark);text-decoration:underline;text-underline-offset:2px}
.xsc-contact-privacy{font-size:9.5px;line-height:1.3;color:var(--xsc-muted)}
.xsc-contact-submit{border:0;border-radius:13px;padding:10px 11px;background:linear-gradient(145deg,var(--xsc-primary),var(--xsc-primary-dark));color:#fff;font:inherit;font-size:11px;font-weight:750;cursor:pointer}
.xsc-contact-submit:disabled{opacity:.55;cursor:default}
.xsc-contact-error{min-height:0;color:#a74235;font-size:10px;line-height:1.3}
.xsc-sound{font-size:17px}
@media(max-width:650px){.xsc-msg-actions button{font-size:11px;padding:8px 10px}.xsc-contact-card{padding:11px}.xsc-consent-check{font-size:11px}}

/* V5.4.6: keep the launcher figure perfectly round even when invitation text wraps */
.xsc-launcher{
  height:auto;
  min-height:156px;
  overflow:visible;
}
.xsc-launcher__bubble{
  flex:0 0 auto;
}
.xsc-launcher__figure{
  flex:0 0 92px;
  width:92px;
  height:92px;
  min-width:92px;
  min-height:92px;
  aspect-ratio:1 / 1;
}

/* V5.4.15: make booking consent checkbox independent from host-site form CSS.
   The main site has legacy checkbox rules; keep this control explicitly visible. */
.xsc-root .xsc-contact-card .xsc-consent-check > input[type="checkbox"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  inset:auto!important;
  clip:auto!important;
  clip-path:none!important;
  transform:none!important;
  float:none!important;
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  margin:1px 0 0 0!important;
  padding:0!important;
  border:2px solid var(--xsc-primary)!important;
  border-radius:4px!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  vertical-align:top!important;
}
.xsc-root .xsc-contact-card .xsc-consent-check > input[type="checkbox"]:checked{
  border-color:var(--xsc-primary-dark)!important;
  background-color:var(--xsc-primary)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' d='M3 8.3 6.4 11.5 13 4.7'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:14px 14px!important;
}
.xsc-root .xsc-contact-card .xsc-consent-check > input[type="checkbox"]:focus-visible{
  outline:2px solid rgba(156,94,64,.38)!important;
  outline-offset:2px!important;
}

/* V5.4.22: visually separate the callback CTA from ordinary quick actions. */
.xsc-root .xsc-quick .xsc-callback-action{
  grid-column:1 / -1;
  justify-self:center;
  width:min(76%,230px);
  min-height:44px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(255,255,255,.72);
  background:linear-gradient(145deg,#d98760,#ad603f);
  color:#fff;
  font-weight:800;
  font-size:11.5px;
  letter-spacing:.01em;
  box-shadow:0 7px 18px rgba(157,84,49,.20),0 0 0 1px rgba(174,94,61,.10);
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
}
.xsc-root .xsc-quick .xsc-callback-action::before{
  content:'☎';
  display:inline-block;
  margin-right:7px;
  font-size:13px;
  line-height:1;
  transform:translateY(1px);
}
.xsc-root .xsc-quick .xsc-callback-action::after{
  content:'';
  position:absolute;
  z-index:-1;
  top:-45%;
  left:-34%;
  width:24%;
  height:190%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.76),transparent);
  transform:rotate(18deg);
  animation:xsc-callback-shine 3.2s ease-in-out infinite;
  pointer-events:none;
}
.xsc-root .xsc-quick .xsc-callback-action:hover{
  background:linear-gradient(145deg,#df9069,#a95a3a);
  color:#fff;
  border-color:rgba(255,255,255,.88);
  transform:translateY(-1px);
  box-shadow:0 9px 21px rgba(157,84,49,.24),0 0 0 2px rgba(255,255,255,.18);
}
.xsc-root .xsc-quick .xsc-callback-action:active{transform:translateY(0) scale(.985)}
@keyframes xsc-callback-shine{
  0%,30%{left:-34%;opacity:0}
  38%{opacity:.92}
  68%{left:112%;opacity:.62}
  76%,100%{left:112%;opacity:0}
}
@media(max-width:650px){
  .xsc-root .xsc-quick .xsc-callback-action{width:min(82%,250px);min-height:45px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .xsc-root .xsc-quick .xsc-callback-action::after{animation:none;display:none}
  .xsc-root .xsc-quick .xsc-callback-action{transition:none}
}



/* V5.4.23: mobile/fullscreen callback CTA. Keep it visibly distinct even when
   fullscreen/mobile rules or host-site styles are stronger than desktop rules. */
@media(max-width:650px){
  .xsc-root .xsc-quick button.xsc-callback-action,
  .xsc-root .xsc-quick button[data-xsc-callback="1"],
  .xsc-root.xsc-fullscreen .xsc-quick button.xsc-callback-action,
  .xsc-root.xsc-fullscreen .xsc-quick button[data-xsc-callback="1"]{
    grid-column:1 / -1!important;
    justify-self:center!important;
    position:relative!important;
    left:-17px!important; /* compensate the legacy 35px quick-actions indent */
    width:min(84vw,290px)!important;
    min-width:210px!important;
    min-height:50px!important;
    margin:7px auto 3px!important;
    padding:12px 18px!important;
    border:1px solid rgba(255,255,255,.92)!important;
    border-radius:16px!important;
    background:linear-gradient(145deg,#d98760 0%,#bd6e49 52%,#9c5e40 100%)!important;
    color:#fff!important;
    font-size:12.5px!important;
    font-weight:800!important;
    line-height:1.2!important;
    letter-spacing:.015em!important;
    text-align:center!important;
    box-shadow:0 9px 22px rgba(145,76,47,.28),0 0 0 1px rgba(255,255,255,.22) inset!important;
    overflow:hidden!important;
    isolation:isolate!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .xsc-root .xsc-quick button.xsc-callback-action::before,
  .xsc-root .xsc-quick button[data-xsc-callback="1"]::before{
    content:'☎'!important;
    display:inline-block!important;
    margin-right:8px!important;
    color:#fff!important;
    font-size:14px!important;
    line-height:1!important;
    vertical-align:-1px!important;
  }
  .xsc-root .xsc-quick button.xsc-callback-action::after,
  .xsc-root .xsc-quick button[data-xsc-callback="1"]::after{
    content:''!important;
    display:block!important;
    position:absolute!important;
    z-index:2!important;
    top:-55%!important;
    left:-42%!important;
    width:24%!important;
    height:215%!important;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent)!important;
    transform:rotate(18deg)!important;
    animation:xsc-callback-mobile-shine 3.6s ease-in-out infinite!important;
    pointer-events:none!important;
  }
  .xsc-root .xsc-quick button.xsc-callback-action:active,
  .xsc-root .xsc-quick button[data-xsc-callback="1"]:active{
    filter:brightness(.96)!important;
  }
}
@keyframes xsc-callback-mobile-shine{
  0%,34%{left:-42%;opacity:0}
  41%{opacity:.78}
  67%{left:118%;opacity:.48}
  75%,100%{left:118%;opacity:0}
}
@media(max-width:650px) and (prefers-reduced-motion:reduce){
  .xsc-root .xsc-quick button.xsc-callback-action::after,
  .xsc-root .xsc-quick button[data-xsc-callback="1"]::after{animation:none!important;display:none!important}
}
