/* Power Wash — premium glass UI for site search (.pws-*) and the chat assistant (.pwc-*). */
.pws-dialog, .pwc-root {
  --pu-bg: rgba(8, 20, 28, .82);
  --pu-bg-2: rgba(16, 34, 45, .72);
  --pu-card: rgba(255, 255, 255, .055);
  --pu-card-h: rgba(255, 255, 255, .1);
  --pu-line: rgba(255, 255, 255, .12);
  --pu-line-2: rgba(160, 215, 235, .28);
  --pu-text: #eef6f9;
  --pu-soft: #b4c7cf;
  --pu-mute: #8aa2ac;
  --pu-aqua: #8fd6ec;
  --pu-aqua-2: #c9eef9;
  --pu-gold: #e2c27c;
  --pu-ink: #06131a;
  --pu-wa: #25d366;
  --pu-r: 22px;
  --pu-shadow: 0 40px 120px -30px rgba(0, 0, 0, .85), 0 0 0 1px rgba(255, 255, 255, .04) inset;
  --pu-font: Heebo, Assistant, system-ui, sans-serif;
}

/* ================= SEARCH ================= */
.site-search-dialog.pws-dialog {
  width: min(96vw, 760px); max-width: none; max-height: min(86svh, 780px);
  margin: 7vh auto auto; padding: 0; border: 0; border-radius: 28px; overflow: visible;
  background: transparent; color: var(--pu-text); box-shadow: none; font-family: var(--pu-font);
}
.pws-dialog::backdrop { background: radial-gradient(120% 80% at 50% 0%, rgba(20, 60, 78, .55), rgba(2, 8, 12, .86)); backdrop-filter: blur(12px) saturate(120%); -webkit-backdrop-filter: blur(12px) saturate(120%); }
.pws-dialog[open] { animation: pws-in .32s cubic-bezier(.2, .9, .25, 1); }
@keyframes pws-in { from { opacity: 0; transform: translateY(-14px) scale(.985); } }
.pws-surface {
  position: relative; display: flex; flex-direction: column; max-height: min(86svh, 780px); overflow: hidden;
  border-radius: inherit; border: 1px solid var(--pu-line);
  background: linear-gradient(160deg, rgba(30, 62, 78, .55), rgba(6, 16, 22, .2) 45%), var(--pu-bg);
  backdrop-filter: blur(26px) saturate(150%); -webkit-backdrop-filter: blur(26px) saturate(150%);
  box-shadow: var(--pu-shadow);
}
.pws-surface::before { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, transparent, rgba(201, 238, 249, .55), rgba(226, 194, 124, .5), transparent); pointer-events: none; }
.pws-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pws-top { display: flex; gap: 10px; align-items: center; padding: 16px 16px 6px; }
.pws-field {
  flex: 1; display: flex; align-items: center; gap: 10px; min-height: 60px; padding: 0 16px;
  border-radius: 18px; border: 1px solid var(--pu-line-2);
  background: linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08); transition: border-color .2s, box-shadow .2s;
}
.pws-field:focus-within { border-color: var(--pu-aqua); box-shadow: 0 0 0 4px rgba(143, 214, 236, .18), inset 0 1px 0 rgba(255, 255, 255, .1); }
.pws-glyph svg, .pws-clear svg, .pws-go svg, .pws-gh svg, .pws-btn svg, .pws-ask svg, .pws-empty-art svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pws-glyph { color: var(--pu-aqua); display: grid; }
.pws-input { flex: 1; min-width: 0; height: 58px; border: 0 !important; outline: 0 !important; background: none !important; box-shadow: none !important; color: var(--pu-text) !important; font: 500 1.15rem/1.2 var(--pu-font); padding: 0 !important; }
.pws-input::placeholder { color: var(--pu-mute); opacity: 1; }
.pws-clear { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .08); color: var(--pu-soft); cursor: pointer; }
.pws-clear:hover { background: rgba(255, 255, 255, .16); color: #fff; }
.pws-clear svg { width: 16px; height: 16px; }
.pws-kbd, .pws-foot kbd { font: 600 .72rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--pu-soft); padding: 5px 7px; border-radius: 7px; border: 1px solid var(--pu-line); background: rgba(255, 255, 255, .05); }
.pws-close { min-height: 44px; padding: 0 16px; border-radius: 14px; border: 1px solid var(--pu-line); background: rgba(255, 255, 255, .05); color: var(--pu-soft); font: 500 .95rem var(--pu-font); cursor: pointer; }
.pws-close:hover { color: #fff; background: rgba(255, 255, 255, .1); }
.pws-status { margin: 0; padding: 4px 22px 0; min-height: 1.2em; font-size: .78rem; letter-spacing: .04em; color: var(--pu-mute); }
.pws-scroll { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 6px 16px 14px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .2) transparent; }
.pws-sec { margin-top: 12px; }
.pws-gh { display: flex; justify-content: space-between; align-items: center; padding: 4px 6px 8px; font: 600 .74rem/1 var(--pu-font); letter-spacing: .12em; text-transform: uppercase; color: var(--pu-gold); }
.pws-gh > span { display: inline-flex; gap: 7px; align-items: center; }
.pws-gh svg { width: 15px; height: 15px; }
.pws-link { border: 0; background: none; padding: 2px 4px; color: var(--pu-aqua); font: 500 .85rem var(--pu-font); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.pws-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pws-chip { min-height: 40px; padding: 0 15px; border-radius: 999px; border: 1px solid var(--pu-line); background: var(--pu-card); color: var(--pu-text); font: 500 .92rem var(--pu-font); cursor: pointer; transition: background .2s, border-color .2s, transform .2s; }
.pws-chip:hover, .pws-chip:focus-visible { background: var(--pu-card-h); border-color: var(--pu-line-2); transform: translateY(-1px); }
.pws-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.pws-tile { position: relative; display: block; aspect-ratio: 1 / .82; border-radius: 16px; overflow: hidden; border: 1px solid var(--pu-line); text-decoration: none; color: #fff; isolation: isolate; }
.pws-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .5s ease; }
.pws-tile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(4, 12, 16, .05) 30%, rgba(4, 12, 16, .88)); }
.pws-tile span { position: absolute; inset: auto 10px 9px; display: grid; gap: 2px; }
.pws-tile b { font: 700 .95rem/1.15 var(--pu-font); }
.pws-tile small { font-size: .72rem; color: var(--pu-soft); }
.pws-tile:hover img, .pws-tile[aria-selected="true"] img { transform: scale(1.07); }
.pws-tile[aria-selected="true"] { outline: 2px solid var(--pu-aqua); outline-offset: 2px; }
.pws-item {
  display: grid; grid-template-columns: 44px 1fr auto 22px; gap: 12px; align-items: center;
  padding: 11px 12px; margin-bottom: 6px; border-radius: 16px; text-decoration: none; color: var(--pu-text);
  border: 1px solid transparent; background: var(--pu-card); transition: background .16s, border-color .16s;
}
.pws-item[aria-selected="true"] { background: linear-gradient(90deg, rgba(143, 214, 236, .14), rgba(255, 255, 255, .06)); border-color: var(--pu-line-2); }
.pws-ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; font-size: 1.15rem; background: linear-gradient(145deg, rgba(143, 214, 236, .22), rgba(143, 214, 236, .05)); border: 1px solid rgba(143, 214, 236, .25); color: var(--pu-aqua-2); }
.pws-t-price .pws-ic { background: linear-gradient(145deg, rgba(226, 194, 124, .28), rgba(226, 194, 124, .06)); border-color: rgba(226, 194, 124, .35); color: var(--pu-gold); font-weight: 800; }
.pws-tx { display: grid; gap: 3px; min-width: 0; }
.pws-tx strong { font: 600 1rem/1.3 var(--pu-font); color: #fff; }
.pws-tx small { font-size: .84rem; line-height: 1.45; color: var(--pu-soft); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pws-dialog mark { background: none; color: var(--pu-aqua-2); font-weight: 700; box-shadow: inset 0 -.38em 0 rgba(143, 214, 236, .2); border-radius: 2px; }
.pws-badge { font: 600 .68rem/1 var(--pu-font); letter-spacing: .06em; padding: 6px 8px; border-radius: 999px; border: 1px solid var(--pu-line); color: var(--pu-mute); white-space: nowrap; }
.pws-go { color: var(--pu-mute); display: grid; transition: transform .2s, color .2s; }
.pws-item[aria-selected="true"] .pws-go { color: var(--pu-aqua); transform: translateX(-3px); }
[dir="ltr"] .pws-go svg, .pws-dialog[dir="ltr"] .pws-btn svg { transform: scaleX(-1); }
.pws-fix { margin: 8px 6px 0; font-size: .9rem; color: var(--pu-soft); }
.pws-fix b { color: var(--pu-aqua-2); }
.pws-instant {
  display: grid; grid-template-columns: 132px 1fr; gap: 16px; margin-top: 12px; padding: 14px; border-radius: 20px;
  border: 1px solid rgba(226, 194, 124, .3);
  background: linear-gradient(135deg, rgba(226, 194, 124, .12), rgba(143, 214, 236, .06) 60%, rgba(255, 255, 255, .03));
}
.pws-instant img { width: 132px; height: 100%; min-height: 132px; object-fit: cover; border-radius: 14px; }
.pws-instant-ic { display: grid; place-items: center; width: 132px; min-height: 110px; border-radius: 14px; font-size: 2.4rem; color: var(--pu-gold); background: rgba(226, 194, 124, .1); }
.pws-instant-body { min-width: 0; }
.pws-eyebrow { margin: 0 0 4px; font: 600 .66rem/1 var(--pu-font); letter-spacing: .22em; color: var(--pu-gold); }
.pws-instant h3 { margin: 0 0 6px; font: 800 1.25rem/1.2 var(--pu-font); color: #fff; }
.pws-instant p { margin: 0 0 8px; color: var(--pu-soft); font-size: .92rem; line-height: 1.55; }
.pws-instant .pws-note { font-size: .8rem; color: var(--pu-mute); }
.pws-mini { width: 100%; border-collapse: collapse; margin: 4px 0 8px; font-size: .9rem; }
.pws-mini th, .pws-mini td { padding: 6px 4px; border-bottom: 1px dashed rgba(255, 255, 255, .1); text-align: start; font-weight: 400; color: var(--pu-soft); background: none; }
.pws-mini td { text-align: end; color: #fff; font-weight: 700; white-space: nowrap; }
.pws-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.pws-btn { display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 0 16px; border-radius: 12px; border: 1px solid var(--pu-line-2); background: rgba(143, 214, 236, .12); color: var(--pu-aqua-2); font: 600 .9rem var(--pu-font); text-decoration: none; cursor: pointer; }
.pws-btn:hover { background: rgba(143, 214, 236, .2); }
.pws-btn svg { width: 17px; height: 17px; }
.pws-btn-wa { background: rgba(37, 211, 102, .14); border-color: rgba(37, 211, 102, .4); color: #b9f5cf; }
.pws-btn-wa:hover { background: rgba(37, 211, 102, .24); }
.pws-empty { text-align: center; padding: 26px 10px 8px; }
.pws-empty-art { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: rgba(143, 214, 236, .1); color: var(--pu-aqua); margin-bottom: 10px; }
.pws-empty-art svg { width: 28px; height: 28px; }
.pws-empty h3 { margin: 0 0 6px; font: 700 1.15rem var(--pu-font); color: #fff; }
.pws-empty p { margin: 0 0 14px; color: var(--pu-soft); }
.pws-empty .pws-acts, .pws-empty .pws-chips { justify-content: center; margin-bottom: 14px; }
.pws-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 18px; border-top: 1px solid var(--pu-line); background: rgba(0, 0, 0, .18); }
.pws-keys { display: inline-flex; align-items: center; gap: 5px; color: var(--pu-mute); font-size: .78rem; }
.pws-keys i { font-style: normal; margin-inline-end: 8px; }
.pws-ask { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border-radius: 12px; border: 1px solid rgba(226, 194, 124, .4); background: linear-gradient(135deg, rgba(226, 194, 124, .2), rgba(226, 194, 124, .06)); color: var(--pu-gold); font: 600 .9rem var(--pu-font); cursor: pointer; }
.pws-ask:hover { background: rgba(226, 194, 124, .26); }
.pws-dialog :focus-visible { outline: 3px solid var(--pu-aqua); outline-offset: 2px; }
.pws-dialog .pws-input:focus-visible { outline: 0; }
html.pws-open { overflow: hidden; }
@media (max-width: 640px) {
  .site-search-dialog.pws-dialog { width: 100vw; height: 100dvh; max-height: none; margin: 0; border-radius: 0; }
  .pws-surface { max-height: none; height: 100%; border-radius: 0; border: 0; }
  .pws-top { padding: max(12px, env(safe-area-inset-top)) 12px 4px; }
  .pws-field { min-height: 52px; padding: 0 12px; border-radius: 15px; }
  .pws-input { height: 50px; font-size: 16px; }
  .pws-kbd, .pws-keys { display: none; }
  .pws-close { padding: 0 12px; }
  .pws-scroll { padding: 4px 12px 12px; }
  .pws-tiles { grid-template-columns: repeat(2, 1fr); }
  .pws-item { grid-template-columns: 40px 1fr 18px; gap: 10px; padding: 10px; }
  .pws-ic { width: 40px; height: 40px; }
  .pws-badge { display: none; }
  .pws-instant { grid-template-columns: 1fr; }
  .pws-instant img { width: 100%; height: 120px; min-height: 0; }
  .pws-instant-ic { display: none; }
  .pws-foot { justify-content: center; padding-bottom: max(12px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { .pws-dialog[open] { animation: none; } .pws-tile img, .pws-chip, .pws-go { transition: none; } }
html[data-motion="paused"] .pws-dialog[open] { animation: none; }
html[data-a11y-contrast] .pws-surface { background: #000 !important; border-color: #fff; }
html[data-a11y-contrast] .pws-tx small, html[data-a11y-contrast] .pws-instant p { color: #fff; }

/* ================= CHAT ================= */
.pwc-root { position: fixed; z-index: 85; left: 22px; bottom: 22px; font-family: var(--pu-font); color: var(--pu-text); }
.pwc-root *, .pwc-root *::before { box-sizing: border-box; }
.pwc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pwc-root svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.pwc-launch {
  position: relative; display: grid; place-items: center; width: 64px; height: 64px; padding: 0; border-radius: 22px; cursor: pointer;
  color: var(--pu-ink); border: 1px solid rgba(255, 255, 255, .55);
  background: radial-gradient(120% 120% at 30% 15%, #ffffff 0%, #d8f3fb 28%, #8fd6ec 62%, #4aa9c6 100%);
  box-shadow: 0 18px 40px -12px rgba(3, 30, 42, .75), inset 0 1px 0 #fff, inset 0 -6px 14px rgba(20, 90, 115, .35);
  transition: transform .25s cubic-bezier(.2, .9, .25, 1.2), border-radius .3s, box-shadow .25s;
}
.pwc-launch:hover { transform: translateY(-3px) rotate(-3deg); box-shadow: 0 24px 50px -14px rgba(3, 30, 42, .85), inset 0 1px 0 #fff; }
.pwc-launch svg { width: 30px; height: 30px; stroke-width: 1.7; }
.pwc-root.is-open .pwc-launch { border-radius: 50%; }
.pwc-dot { position: absolute; top: 6px; right: 6px; width: 13px; height: 13px; border-radius: 50%; background: #2ee07a; border: 2px solid #fff; box-shadow: 0 0 0 0 rgba(46, 224, 122, .6); animation: pwc-ping 2.4s infinite; }
@keyframes pwc-ping { 70% { box-shadow: 0 0 0 9px rgba(46, 224, 122, 0); } 100% { box-shadow: 0 0 0 0 rgba(46, 224, 122, 0); } }
.pwc-launch:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.pwc-teaser { position: absolute; bottom: 76px; left: 0; display: flex; align-items: center; gap: 6px; margin: 0; padding: 10px 8px 10px 14px; width: max-content; max-width: 260px; border-radius: 16px 16px 16px 4px; background: var(--pu-bg); border: 1px solid var(--pu-line-2); backdrop-filter: blur(16px); box-shadow: 0 16px 40px -14px rgba(0, 0, 0, .7); font-size: .92rem; animation: pwc-pop .4s cubic-bezier(.2, .9, .25, 1.2); }
.pwc-teaser span { cursor: pointer; }
.pwc-teaser-x { display: grid; place-items: center; width: 28px; height: 28px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .08); color: var(--pu-soft); cursor: pointer; }
.pwc-teaser-x svg { width: 14px; height: 14px; }
@keyframes pwc-pop { from { opacity: 0; transform: translateY(8px) scale(.96); } }
.pwc-panel {
  position: absolute; left: 0; bottom: 78px; display: flex; flex-direction: column;
  width: min(410px, calc(100vw - 32px)); height: min(660px, calc(100dvh - 120px));
  border-radius: 26px; overflow: hidden; border: 1px solid var(--pu-line);
  background: linear-gradient(165deg, rgba(34, 70, 88, .6), rgba(6, 16, 22, .15) 40%), var(--pu-bg);
  backdrop-filter: blur(26px) saturate(150%); -webkit-backdrop-filter: blur(26px) saturate(150%);
  box-shadow: var(--pu-shadow); transform-origin: 0 100%;
  opacity: 0; transform: translateY(14px) scale(.97); transition: opacity .22s ease, transform .3s cubic-bezier(.2, .9, .25, 1);
}
.pwc-panel.is-open { opacity: 1; transform: none; }
.pwc-panel::before { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, transparent, rgba(201, 238, 249, .6), rgba(226, 194, 124, .5), transparent); }
.pwc-head { display: flex; align-items: center; gap: 12px; padding: 14px 14px 12px 16px; border-bottom: 1px solid var(--pu-line); background: linear-gradient(180deg, rgba(255, 255, 255, .06), transparent); }
.pwc-avatar { position: relative; width: 46px; height: 46px; flex: none; border-radius: 15px; display: grid; place-items: center; background: radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .25), rgba(143, 214, 236, .08)); border: 1px solid rgba(226, 194, 124, .45); }
.pwc-avatar img { width: 40px; height: 40px; object-fit: contain; }
.pwc-who { flex: 1; min-width: 0; display: grid; gap: 2px; }
.pwc-who strong { font: 700 1.02rem/1.2 var(--pu-font); color: #fff; }
.pwc-status { display: inline-flex; align-items: center; gap: 6px; font-size: .78rem; color: var(--pu-soft); }
.pwc-status i { width: 8px; height: 8px; border-radius: 50%; background: #2ee07a; box-shadow: 0 0 10px #2ee07a; }
.pwc-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; border: 1px solid var(--pu-line); background: rgba(255, 255, 255, .05); color: var(--pu-soft); cursor: pointer; }
.pwc-icon:hover { color: #fff; background: rgba(255, 255, 255, .12); }
.pwc-icon svg { width: 18px; height: 18px; }
.pwc-log { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 16px 14px 8px; display: flex; flex-direction: column; gap: 10px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .2) transparent; }
.pwc-log:focus-visible { outline: 2px solid var(--pu-aqua); outline-offset: -4px; }
.pwc-msg { max-width: 88%; font-size: .95rem; line-height: 1.6; }
.pwc-msg p { margin: 0 0 6px; }
.pwc-msg p:last-child { margin-bottom: 0; }
.pwc-msg strong { color: #fff; font-weight: 700; }
.pwc-bot { align-self: flex-start; padding: 12px 14px; border-radius: 18px 18px 18px 6px; background: var(--pu-card); border: 1px solid var(--pu-line); }
.pwc-user { align-self: flex-end; padding: 10px 14px; border-radius: 18px 18px 6px 18px; color: var(--pu-ink); background-color: #bfe9f6; background-image: linear-gradient(135deg, #d9f4fc, #9fdcef); box-shadow: 0 8px 20px -10px rgba(143, 214, 236, .6); }
.pwc-user p { color: var(--pu-ink); font-weight: 500; }
[dir="ltr"] .pwc-bot, .pwc-root[dir="ltr"] .pwc-bot { border-radius: 18px 18px 18px 6px; }
.pwc-in { animation: pwc-msg .35s cubic-bezier(.2, .9, .25, 1); }
@keyframes pwc-msg { from { opacity: 0; transform: translateY(8px); } }
.pwc-typing { display: inline-flex; gap: 5px; padding: 14px 16px; }
.pwc-typing span { width: 7px; height: 7px; border-radius: 50%; background: var(--pu-aqua); opacity: .4; animation: pwc-dots 1.1s infinite; }
.pwc-typing span:nth-child(2) { animation-delay: .15s; } .pwc-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes pwc-dots { 30% { opacity: 1; transform: translateY(-3px); } }
.pwc-list { margin: 4px 0 6px; padding-inline-start: 18px; display: grid; gap: 4px; }
.pwc-list li::marker { color: var(--pu-gold); }
.pwc-card { margin: 6px 0; border-radius: 16px; border: 1px solid var(--pu-line-2); background: rgba(0, 0, 0, .18); overflow: hidden; }
.pwc-card-h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 12px; border-bottom: 1px solid var(--pu-line); background: linear-gradient(90deg, rgba(226, 194, 124, .14), transparent); }
.pwc-card-h span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: rgba(226, 194, 124, .2); color: var(--pu-gold); font-weight: 800; }
.pwc-card-h b { flex: 1; color: #fff; }
.pwc-card-h em { font-style: normal; font-size: .74rem; color: var(--pu-gold); border: 1px solid rgba(226, 194, 124, .4); padding: 3px 8px; border-radius: 999px; }
.pwc-price table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.pwc-price th, .pwc-price td { padding: 7px 12px; text-align: start; font-weight: 400; color: var(--pu-soft); border-bottom: 1px solid rgba(255, 255, 255, .06); background: none; }
.pwc-price td { text-align: end; color: #fff; font-weight: 700; white-space: nowrap; }
.pwc-price tr.pwc-hl th, .pwc-price tr.pwc-hl td { background: rgba(143, 214, 236, .14); color: #fff; }
.pwc-small { padding: 8px 12px 0; font-size: .78rem; color: var(--pu-mute); }
.pwc-links { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 12px; }
.pwc-bot > .pwc-links { padding: 6px 0 0; }
.pwc-links a { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 12px; border-radius: 11px; text-decoration: none; font-size: .86rem; font-weight: 600; color: var(--pu-aqua-2); background: rgba(143, 214, 236, .12); border: 1px solid rgba(143, 214, 236, .3); }
.pwc-links a:hover { background: rgba(143, 214, 236, .22); }
.pwc-links svg { width: 16px; height: 16px; }
.pwc-links a.pwc-l-wa { color: #c4f7d6; background: rgba(37, 211, 102, .14); border-color: rgba(37, 211, 102, .4); }
.pwc-root[dir="ltr"] .pwc-links a:not(.pwc-l-wa) svg { transform: scaleX(-1); }
.pwc-svc { display: grid; grid-template-columns: 96px 1fr; }
.pwc-svc img { width: 96px; height: 100%; min-height: 120px; object-fit: cover; }
.pwc-svc > div { padding: 10px 12px 0; }
.pwc-svc b { color: #fff; }
.pwc-svc p { font-size: .86rem; color: var(--pu-soft); margin: 4px 0; }
.pwc-svc ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 4px; }
.pwc-svc li { font-size: .7rem; padding: 3px 8px; border-radius: 999px; border: 1px solid var(--pu-line); color: var(--pu-soft); }
.pwc-svc .pwc-links { padding: 8px 0 10px; }
.pwc-svcs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; margin-top: 8px; }
.pwc-svcs button, .pwc-chips button { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 12px; border-radius: 12px; border: 1px solid var(--pu-line); background: rgba(255, 255, 255, .05); color: var(--pu-text); font: 500 .86rem var(--pu-font); text-align: start; cursor: pointer; transition: background .15s, border-color .15s; }
.pwc-svcs button:hover, .pwc-chips button:hover { background: rgba(143, 214, 236, .14); border-color: var(--pu-line-2); }
.pwc-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 2px 0 6px; }
.pwc-chips button { border-radius: 999px; border-color: rgba(143, 214, 236, .35); color: var(--pu-aqua-2); background: rgba(143, 214, 236, .08); }
.pwc-form { display: flex; align-items: flex-end; gap: 8px; margin: 6px 12px 0; padding: 6px 6px 6px 6px; border-radius: 18px; border: 1px solid var(--pu-line-2); background: rgba(255, 255, 255, .06); transition: border-color .2s, box-shadow .2s; }
.pwc-form:focus-within { border-color: var(--pu-aqua); box-shadow: 0 0 0 4px rgba(143, 214, 236, .16); }
.pwc-form textarea { flex: 1; min-height: 44px; max-height: 120px; resize: none; padding: 11px 10px; border: 0 !important; outline: 0 !important; background: none !important; box-shadow: none !important; color: var(--pu-text) !important; font: 400 16px/1.4 var(--pu-font); }
.pwc-form textarea::placeholder { color: var(--pu-mute); }
.pwc-send { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border: 0; border-radius: 14px; cursor: pointer; color: var(--pu-ink); background: linear-gradient(135deg, #e9f8fd, #8fd6ec); box-shadow: 0 8px 18px -8px rgba(143, 214, 236, .8); transition: transform .15s, opacity .2s; }
.pwc-root[dir="rtl"] .pwc-send svg { transform: scaleX(-1); }
.pwc-send:disabled { opacity: .35; cursor: default; box-shadow: none; }
.pwc-send:not(:disabled):hover { transform: translateY(-1px); }
.pwc-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; padding: 10px 12px 12px; }
.pwc-wa, .pwc-call { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border-radius: 11px; text-decoration: none; font-size: .82rem; font-weight: 600; }
.pwc-wa { color: #c4f7d6; background: rgba(37, 211, 102, .14); border: 1px solid rgba(37, 211, 102, .4); }
.pwc-call { color: var(--pu-soft); border: 1px solid var(--pu-line); }
.pwc-wa svg, .pwc-call svg { width: 16px; height: 16px; }
.pwc-foot small { width: 100%; font-size: .72rem; color: var(--pu-mute); }
.pwc-foot small a { color: var(--pu-soft); }
.pwc-root :focus-visible { outline: 3px solid var(--pu-aqua); outline-offset: 2px; }
.pwc-form textarea:focus-visible { outline: 0; }
@media (max-width: 760px) {
  .pwc-root { left: 12px; bottom: calc(78px + env(safe-area-inset-bottom)); }
  .pwc-launch { width: 56px; height: 56px; border-radius: 19px; }
  .pwc-launch svg { width: 26px; height: 26px; }
  .pwc-panel { position: fixed; inset: 0; width: auto; height: auto; border-radius: 0; border: 0; padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); transform-origin: 50% 100%; z-index: 120; }
  .pwc-root.is-open .pwc-launch, .pwc-root.is-open .pwc-teaser { visibility: hidden; }
  .pwc-msg { max-width: 92%; }
}
@media (prefers-reduced-motion: reduce) { .pwc-panel, .pwc-launch { transition: none; } .pwc-dot, .pwc-in, .pwc-teaser, .pwc-typing span { animation: none; } }
html[data-motion="paused"] .pwc-dot, html[data-motion="paused"] .pwc-in, html[data-motion="paused"] .pwc-typing span { animation: none; }
html[data-a11y-contrast] .pwc-panel { background: #000 !important; border: 2px solid #fff; }
html[data-a11y-contrast] .pwc-bot { background: #000; border-color: #fff; }
.pwc-panel[hidden], .pwc-teaser[hidden], .pws-clear[hidden] { display: none !important; }
.pwc-root.is-open { z-index: 130; }
@media (max-width: 760px) { .pwc-panel { background: linear-gradient(165deg, rgba(34, 70, 88, .5), rgba(6, 16, 22, .2) 40%), rgba(7, 17, 24, .97); } }

/* ================= PHOTOS IN QUOTE FORM ================= */
.fp-box { display: grid; gap: 8px; margin: 2px 0 6px; }
.fp-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.fp-title { font-weight: 700; font-size: .95rem; }
.fp-hint { font-size: .8rem; opacity: .75; }
.fp-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.fp-add, .fp-thumb { position: relative; aspect-ratio: 1; margin: 0; border-radius: 14px; overflow: hidden; }
.fp-add { display: grid; place-items: center; align-content: center; gap: 2px; cursor: pointer; border: 1.5px dashed rgba(143, 214, 236, .55); background: rgba(143, 214, 236, .07); color: inherit; text-align: center; padding: 6px; transition: background .2s, border-color .2s; }
.fp-add:hover, .fp-add:focus-within { background: rgba(143, 214, 236, .15); border-color: #8fd6ec; }
.fp-add:focus-within { outline: 3px solid #8fd6ec; outline-offset: 2px; }
.fp-add[hidden] { display: none; }
.fp-input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.fp-plus { font-size: 1.7rem; line-height: 1; font-weight: 300; }
.fp-add-t { font-size: .72rem; line-height: 1.2; }
.fp-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fp-remove { position: absolute; top: 5px; inset-inline-end: 5px; width: 30px; height: 30px; border-radius: 50%; border: 0; background: rgba(4, 12, 16, .78); color: #fff; font-size: 1.1rem; line-height: 1; cursor: pointer; display: grid; place-items: center; }
.fp-remove:focus-visible { outline: 3px solid #8fd6ec; outline-offset: 1px; }
.fp-status { margin: 0; min-height: 1.1em; font-size: .82rem; opacity: .85; }
.fp-box .fp-add, .fp-box .fp-add span { color: #e6f6fb !important; }
.fp-box .fp-hint { opacity: 1; color: #b9ccd4; }

/* ================= LANGUAGES ================= */
.i18n-lang { display: inline-flex; align-items: center; }
.i18n-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.i18n-lang-select { min-height: 40px; padding: 0 30px 0 12px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23cfe3ea' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center; color: #eef6f9; font: 500 .9rem Heebo, Assistant, sans-serif; -webkit-appearance: none; appearance: none; cursor: pointer; }
[dir="rtl"] .i18n-lang-select { padding: 0 12px 0 30px; background-position: left 12px center; }
.i18n-lang-select option { color: #0b1a22; background: #fff; }
.i18n-lang-select:focus-visible { outline: 3px solid #8fd6ec; outline-offset: 2px; }
html.lang-ar body, html.lang-ar body :where(h1, h2, h3, h4, p, a, button, span, li, label, input, select, textarea, td, th, small, strong, b, em, summary, figcaption, caption, output) { font-family: Cairo, Heebo, system-ui, sans-serif !important; letter-spacing: 0 !important; }
.pwc-price th { width: 55%; }
.pwc-price td { white-space: normal; }
.faq-guides-link { text-align: center; margin: 28px 0 0; }
.faq-guides-link a { display: inline-flex; gap: 8px; align-items: center; min-height: 44px; padding: 0 20px; border-radius: 999px; border: 1px solid rgba(143, 214, 236, .4); color: #c9eef9; text-decoration: none; font-weight: 600; background: rgba(143, 214, 236, .08); }
.faq-guides-link a:hover { background: rgba(143, 214, 236, .16); }

/* ---------- lazy background images (home page) ----------
   html.pw-lazybg is set by a tiny script in <head>; each block gets .pw-in when it nears the screen.
   Carousel slides that are not showing wait until the page has loaded (.pw-bg-late). */
html.pw-lazybg:not(.pw-bg-all) :is(.service-card, .pricing-card-visual, .ph, .gl-bg, .process-visual, .section.services):not(.pw-in),
html.pw-lazybg:not(.pw-bg-all) :is(.service-card, .pricing-card-visual, .ph, .gl-bg, .process-visual, .section.services):not(.pw-in)::before,
html.pw-lazybg:not(.pw-bg-all) :is(.service-card, .pricing-card-visual, .ph, .gl-bg, .process-visual, .section.services):not(.pw-in)::after,
html.pw-lazybg:not(.pw-bg-all):not(.pw-bg-late) :is(.hero-photo-slide:not(.hero-slide-1):not(.is-active), .lx-slide:not(.is-on)),
html.pw-lazybg:not(.pw-bg-all):not(.pw-bg-late) .hero-photo-slide:not(.hero-slide-1):not(.is-active)::before,
html.pw-lazybg:not(.pw-bg-all):not(.pw-bg-late) .hero-photo-slide:not(.hero-slide-1):not(.is-active)::after { background-image: none !important; }

/* ---------- home: calls to action for the quote page ---------- */
.qcta{position:relative;z-index:1;display:grid;gap:14px;align-content:start;padding:clamp(22px,3vw,34px);border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.qcta h3{margin:0;font:800 clamp(22px,2.3vw,30px)/1.25 Heebo,sans-serif;color:#fff}
.qcta .eyebrow{margin:0}
.qcta ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.qcta li{position:relative;padding-inline-start:28px;font:400 16px/1.6 Heebo,sans-serif;color:rgba(230,246,248,.85)}
.qcta li::before{content:"✓";position:absolute;inset-inline-start:0;color:#8fd6ec;font-weight:800}
.qcta .button{font-size:1.05rem;min-height:56px}
.qcta .form-note{margin:0;color:rgba(230,246,248,.65)}
.video-cta-quote{margin-inline-start:12px}
.reviews-quote{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 20px;margin:clamp(26px,4vw,44px) auto 0;padding:18px 24px;max-width:760px;border-radius:20px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04)}
.reviews-quote p{margin:0;font:700 clamp(18px,1.8vw,22px) Heebo,sans-serif;color:#fff}

/* ---------- customer video testimonials (home strip + testimonials.html) ---------- */
.tv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:18px}
.tv-card{margin:0;display:grid;gap:10px;align-content:start}
.tv-play,.tv-video{display:block;width:100%;aspect-ratio:9/16;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:#04141b;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.tv-play{position:relative;padding:0;cursor:pointer}
.tv-play img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.tv-play:hover img{transform:scale(1.03)}
.tv-btn{position:absolute;inset:50% auto auto 50%;translate:-50% -50%;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:22px;color:#06131a;background:rgba(255,255,255,.9);box-shadow:0 8px 30px rgba(0,0,0,.4)}
.tv-play:focus-visible{outline:3px solid #8fd6ec;outline-offset:3px}
.tv-video{object-fit:cover}
.tv-card figcaption{display:grid;gap:4px;color:rgba(230,246,248,.85);font:400 15px/1.5 Heebo,sans-serif}
.tv-card figcaption b{color:#fff;font-weight:700}
.tv-card figcaption span{font-size:13.5px;color:#8fd6ec}
.tv-card blockquote{margin:2px 0 0;font:300 15px/1.6 Heebo,sans-serif;color:rgba(230,246,248,.8)}
.tv-home{margin:clamp(30px,4vw,50px) auto 0;max-width:1100px;text-align:center}
.tv-home h3{margin:0 0 18px;font:800 clamp(22px,2.4vw,30px) Heebo,sans-serif;color:#fff}
.tv-home .tv-grid{text-align:start}
.tv-home .tv-all{margin-top:20px}
.tv-empty{padding:28px;text-align:center;display:grid;gap:14px;justify-items:center}
.tv-empty p{margin:0;font:400 17px/1.7 Heebo,sans-serif;color:rgba(230,246,248,.85)}
.tv-cta{margin-top:clamp(26px,4vw,44px);text-align:center}.tv-cta .sl-acts{justify-content:center}
@media (prefers-reduced-motion:reduce){.tv-play img{transition:none}}
.tv-hero .sl-hero-copy{max-width:760px}
.tv-hero h1{font-size:clamp(36px,4.6vw,64px)!important;line-height:1.08!important}
.tv-hero h1 span{display:block;font-size:.62em}
@media (max-width:560px){.tv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tv-btn{width:48px;height:48px;font-size:17px}.tv-card figcaption{font-size:13.5px}.tv-card blockquote{font-size:13.5px}}

/* ===== smoothness on phones (see luxe.js "smoothness") =====
   1) endless animations pause while their block is far off screen — nothing visible changes.
   2) home page: frosted-glass blur is dropped where a side-by-side check showed no visible
      difference (the glass sits on a plain dark background), so the phone stops re-blurring it on every frame. */
.pw-off, .pw-off *, .pw-off *::before, .pw-off *::after { animation-play-state: paused !important; }
.pw-off .pw-ia, .pw-off .pw-ib::before, .pw-off .pw-ic::after { animation-name: none !important; }
#process.pj.pw-off .stop.done .scene * { animation-play-state: paused !important; }
body:not(.service-document) :is(.lxr-card, .service-action, .pricing-bottom-note, .lxw-console, .hx > .big, .hx > .full, .hx > .wide, .hx > a:not([class])) {
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important; /* checked on phone and desktop: no visible difference */
}
@media (max-width: 760px) {
  body:not(.service-document) :is(.lx-index, .pfg-glass, #process.pj .stop .card) {
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important; /* phone-only check */
  }
}
