/* CMS adaptation only. The visual system in style.css is the supplied Kimi design. */
[hidden]{display:none!important}
[data-block].selected{outline:2px solid #c86f3f;outline-offset:5px}
.footer-guides{max-width:1200px;margin:20px auto 0;padding:0 24px;display:flex;flex-wrap:wrap;gap:12px 28px;font-size:.8rem;color:#b9b1a9}
.google-post-label{color:#4285f4;font-weight:700;font-size:1rem;letter-spacing:0}
.post-body{padding:28px}
.article{max-width:720px;margin:0 auto;padding:64px 24px 96px}
.article .post-cap{margin-bottom:10px}
.article h1{font-size:clamp(1.9rem,4.5vw,2.9rem);margin-bottom:28px}
.article p{color:var(--ink-2);font-size:1.06rem;line-height:1.75}
.article-hero{border-radius:var(--radius);overflow:hidden;margin:32px 0 40px;aspect-ratio:16/8;box-shadow:var(--shadow-sm)}
.article-hero img{width:100%;height:100%;object-fit:cover}
.article-back{display:inline-block;margin-bottom:32px}
.article-nav{margin-top:56px;padding-top:28px;border-top:1px solid var(--line)}
.hero-title [data-field=title]{white-space:pre-line}
.review-card p,.post p{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.svc,.btn-wa-hero,.webalo-cta,.parallax img{transform:none!important}}
.header-actions,.lang-switch{flex-shrink:0}
.header-inner{gap:12px}.main-nav{gap:18px}.header-actions{margin-left:8px}
.brand-sub{white-space:nowrap}
.city-bar{background:var(--paper-2);border-bottom:1px solid var(--line);font-size:.82rem}
.city-inner{display:flex;align-items:center;gap:12px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.city-inner label{font-weight:600}.city-inner select{max-width:100%;font:inherit;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 30px 8px 14px;color:var(--ink)}
#cityHint{color:var(--muted);font-size:.76rem}.city-terms{padding-bottom:12px;white-space:pre-line}
.chat-city-context{padding:10px 18px;margin:0;background:#38302a;font-size:.82rem}
.city-links{padding-bottom:12px}.city-links [data-city-demo]{flex-basis:100%}
.chat-input-row input{min-width:0}
.city-bar{margin-top:24px;background:transparent;border-top:1px solid #56504b;border-bottom:0;color:#e5dfd9;padding-bottom:16px}
.city-bar #cityHint{color:#b9b1a9}.city-bar .wrap{padding-left:24px;padding-right:24px}
.chat-privacy{font-size:.72rem;line-height:1.5;padding:12px 18px;color:#c7bdb5;margin:0}
.msg{white-space:pre-wrap;overflow-wrap:anywhere}.msg.is-typing{color:#c7bdb5}
.msg.is-typing::before{content:'● ● ●';display:block;font-size:.65rem;letter-spacing:4px;color:#d48a62;animation:chat-pulse 1.4s ease-in-out infinite}
.chat-input-row button:disabled,.chip:disabled{opacity:.5;cursor:default}
@keyframes chat-caret{50%{opacity:0}}@keyframes chat-pulse{50%{opacity:.35;transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.msg.is-typing::before{animation:none;transform:none}}
@media(min-width:961px) and (max-width:1200px){.header-inner{gap:8px;padding:0 16px}.main-nav{gap:12px}.main-nav a{font-size:.8rem}.btn-header{padding:10px 12px;font-size:.78rem}.brand-sub{display:none}}
@media(max-width:600px){.city-inner{gap:8px}#cityHint{flex-basis:100%}.header-actions{margin-left:auto}.header-inner{padding:0 16px}}
@media(min-width:821px) and (max-width:1100px){.header-actions{margin-left:auto}.nav-toggle{display:flex}.btn-header{display:none}.main-nav{position:fixed;top:var(--header-h);left:0;right:0;background:var(--paper);flex-direction:column;gap:0;border-bottom:1px solid var(--line);padding:8px 24px 16px;transform:translateY(-150%);visibility:hidden;pointer-events:none;z-index:99}.main-nav.open{transform:none;visibility:visible;pointer-events:auto}.main-nav a{padding:13px 0;font-size:1rem}}

.cms-entry{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;padding:4px 0;font-size:12px;color:#d6b69e;text-decoration:underline;text-underline-offset:4px}
.chat-presence{display:flex;align-items:center;gap:9px;margin:0;padding:8px 18px 12px;color:#c9d9cd;font-size:.75rem;line-height:1.5}.chat-presence-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#8fcca6;box-shadow:0 0 0 3px #8fcca620;animation:chat-ready-pulse 2.4s ease-in-out infinite}.chat-presence[data-state=busy] .chat-presence-dot{background:#d48a62;animation-duration:1s}.chat-presence[data-state=off] .chat-presence-dot{background:#9c9590;animation:none;box-shadow:none}.msg.is-arriving{animation:chat-arrive .65s ease-out both}@keyframes chat-ready-pulse{50%{box-shadow:0 0 0 6px #8fcca608;opacity:.6}}@keyframes chat-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.chat-presence-dot,.msg.is-arriving{animation:none;transform:none}}

.lang-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:6px 8px;border-radius:4px;font:inherit;font-size:12px;text-decoration:none;color:inherit}.lang-switch a[aria-current="page"]{background:var(--dark,#221f1b);color:#fff}.lang-switch a:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* Each message follows its own writing direction; the site language is independent. */
.msg,#chatInput,#waPreview{text-align:start;unicode-bidi:plaintext}

/* The cursor belongs to the composer; focused input uses its native caret. */
.chat-input-wrap{position:relative;display:flex;flex:1;min-width:0}
.chat-input-wrap input{width:100%;min-width:0;caret-color:#25d366}
.chat-input-caret{display:none;position:absolute;inset-inline-start:18px;top:50%;height:1.05em;border-inline-start:2px solid #25d366;transform:translateY(-50%);pointer-events:none;animation:chat-caret 1.1s steps(2,end) infinite}
.chat-input-wrap:has(input:placeholder-shown:not(:focus):not(:disabled)) .chat-input-caret{display:block}
.chat-input-wrap input:placeholder-shown:not(:focus):not(:disabled){padding-inline-start:27px}
.chat-head .chat-dot{flex:none;animation:chat-header-pulse 2s ease-in-out infinite}
.chat-head .chat-dot[data-state=busy]{animation-duration:1.1s}
.chat-head .chat-dot[data-state=off]{background:#9c9590;box-shadow:none;animation:none}
@keyframes chat-header-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 3px rgba(37,211,102,.18)}50%{transform:scale(1.15);box-shadow:0 0 0 8px rgba(37,211,102,0)}}
@media(prefers-reduced-motion:reduce){.chat-input-caret,.chat-head .chat-dot{animation:none;transform:none}.chat-input-caret{transform:translateY(-50%)}}
