.geomchat-section{padding:16px 18px 30px;background:#f4efe5;box-sizing:border-box}.geomchat-section *{box-sizing:border-box}.geomchat-shell{max-width:1050px;margin:auto;background:#fffdf9;border:1px solid #ded1b9;border-radius:16px;box-shadow:0 14px 30px #42352a0d;overflow:hidden}.geomchat-top{padding:23px 26px;border-bottom:1px solid #eee5d7}.geomchat-kicker{display:block;color:#9e8248;font-weight:800;letter-spacing:.15em;font-size:12px;margin-bottom:8px}.geomchat-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.geomchat-top h2{font-size:24px!important;margin:0!important;color:#33283a!important}.geomchat-top p{margin:10px 0 0;color:#766c69;font-size:14px;line-height:1.6}.geomchat-status{border-radius:999px;background:#e9eadf;color:#556c54;padding:7px 12px;font-size:12px;font-weight:700;white-space:nowrap;flex-shrink:0}.geomchat-status[data-state=busy]{background:#fae8d5;color:#9e702b}.geomchat-status[data-state=offline]{background:#eee;color:#777}.geomchat-app{max-width:740px;margin:auto;padding:20px}.geomchat-welcome{background:#f3ede1;border-radius:12px;padding:14px 16px;margin-bottom:12px;font-size:clamp(13px,3.2vw,16px);font-weight:700;color:#514844;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.geomchat-choice{display:flex;gap:22px;align-items:center;padding:10px 0;flex-wrap:wrap}.geomchat-choice label{display:inline-flex;gap:5px;align-items:center}.geomchat-app input:not([type=radio]):not([type=checkbox]),.geomchat-app textarea{display:block;width:100%;max-width:100%;border:1px solid #d6cab7!important;background:white!important;color:#342b32!important;border-radius:12px!important;padding:14px 16px!important;margin:8px 0;font-size:16px}.geomchat-consent{display:flex;align-items:flex-start;gap:9px;color:#615a57;font-size:12px;line-height:1.6;margin:13px 0}.geomchat-entry-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}.geomchat-full{width:100%}.geomchat-gold,.geomchat-ghost{border:0!important;border-radius:12px!important;padding:15px 20px!important;font-weight:800;cursor:pointer;text-align:center}.geomchat-gold{background:#9e8248!important;color:white!important}.geomchat-gold:hover{background:#846b3a!important}.geomchat-ghost{background:#f2ecdf!important;color:#4f4743!important;border:1px solid #d4c7ae!important}.geomchat-error{color:#b22b2b;font-size:13px}.geomchat-room-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.geomchat-room-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.geomchat-mini-state{font-size:12px;color:#736961;font-weight:700}.geomchat-timer{font-size:12px;color:#9e8248;font-weight:800;background:#fbf4e8;border:1px solid #ead6af;border-radius:999px;padding:4px 10px}.geomchat-card-box{background:#fbf5eb;border:1px solid #ead7b1;border-radius:14px;padding:14px;margin:0 0 12px}.geomchat-card-title{font-size:16px;font-weight:800;color:#3a3137;margin-bottom:6px}.geomchat-messages{height:360px;overflow-y:auto;background:#f7f3ed;border:1px solid #e9e1d5;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:14px}.geomchat-bubble{max-width:85%;white-space:pre-wrap;overflow-wrap:anywhere;padding:11px 13px;border-radius:12px;font-size:14px}.geomchat-bubble.customer{align-self:flex-start;background:white;border:1px solid #e5ddd2}.geomchat-bubble.admin{align-self:flex-end;background:#efe3c8;color:#392d22}.geomchat-bubble.system{align-self:flex-end;background:#e8e1f3;color:#483c56}.geomchat-bubble.quick{background:#ede4f7!important;color:#4d3f60!important;border:1px solid #d6c4ea}.geomchat-bubble.card_request{background:#f8f0dd!important;color:#4a3c26!important;border:1px solid #e4cd9d}.geomchat-bubble small{display:block;font-size:10px;opacity:.74;margin-bottom:5px}.geomchat-bubble small:last-child{margin:6px 0 0;text-align:right}.geomchat-bubble img{max-width:100%;max-height:280px;border-radius:6px;cursor:zoom-in}.geomchat-card-inline{margin-top:10px}.geomchat-card-inline button{background:#9e8248;color:#fff;border:0;border-radius:10px;padding:9px 12px;font-weight:700;cursor:pointer}.geomchat-tools{display:flex;align-items:center;gap:16px;padding:9px 0;color:#756d66;font-size:12px;flex-wrap:wrap}.geomchat-tools button{border:0!important;background:none!important;font-size:19px;cursor:pointer}.geomchat-photo-label{cursor:pointer}.geomchat-emoji{padding:8px;background:#f4eee1;border-radius:10px}.geomchat-emoji button{background:none;border:0;font-size:20px;padding:5px;cursor:pointer}#geomchat-send{display:flex;gap:10px;align-items:center}#geomchat-send textarea{flex:1;min-height:60px}.geomchat-app [hidden]{display:none!important}.geomchat-new{display:block;margin:0 0 8px auto;color:#806637;background:none;border:0;font-size:12px;text-decoration:underline;cursor:pointer}@media(max-width:560px){.geomchat-section{padding:10px 12px 25px}.geomchat-top{padding:16px}.geomchat-top h2{font-size:20px!important}.geomchat-title-row{align-items:center}.geomchat-app{padding:12px}.geomchat-messages{height:300px}.geomchat-bubble{max-width:90%}#geomchat-send{flex-direction:column}#geomchat-send button{width:100%}}

/* 검챗 v0.3.0: 은은한 공지 강조와 상담 종료 구분선 */
.geomchat-welcome{display:flex;align-items:center;gap:9px;position:relative;isolation:isolate;white-space:nowrap;overflow:hidden;text-overflow:clip;background:linear-gradient(110deg,#f3ede1,#fcf3df,#f3ede1);background-size:230% 100%;animation:geomchat-notice-glow 5s ease-in-out infinite;font-size:clamp(11px,3vw,15px)}
.geomchat-welcome span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.geomchat-megaphone{flex:0 0 auto;font-size:1.18em;animation:geomchat-notice-bob 2.4s ease-in-out infinite;transform-origin:50% 80%}
@keyframes geomchat-notice-glow{0%,100%{background-position:100% 50%}50%{background-position:0% 50%}}
@keyframes geomchat-notice-bob{0%,100%{transform:rotate(-6deg) scale(1)}50%{transform:rotate(8deg) scale(1.11)}}
.geomchat-end-line{display:flex;align-items:center;gap:12px;width:100%;margin:12px 0;color:#887654;text-align:center;font-size:12px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.geomchat-end-line::before,.geomchat-end-line::after{content:'';height:0;flex:1 1 22px;min-width:14px;border-top:1px dashed #c5b89e}
.geomchat-end-line>div{max-width:80%}
@media(prefers-reduced-motion:reduce){.geomchat-welcome,.geomchat-megaphone{animation:none!important}}

.geomchat-timer-settled{color:#b83232!important;background:#fff0f0!important;border-color:#dfa6a6!important}.geomchat-receipt{align-self:flex-end;background:#fffdf5!important;border:1px solid #d9c39b;color:#493c2e!important;max-width:93%;width:320px}.geomchat-receipt hr{border:0;border-top:1px solid #e7d8bc;margin:10px 0}.geomchat-receipt b{color:#9e8248}.geomchat-receipt strong{float:right}.geomchat-receipt .geomchat-receipt-amount{background:#f4ebd8;padding:10px;margin:10px 0;border-radius:8px}.geomchat-receipt p{font-size:13px;margin:10px 0}.geomchat-receipt small{font-size:12px!important;color:#6d604b!important;opacity:1!important}


.geomchat-receipt{background:#fffdf7!important;border:1px solid #d8c39a!important;color:#493c2e!important;padding:16px!important;max-width:96%!important;width:min(520px,100%)!important;box-shadow:0 8px 24px rgba(72,54,20,.06)}
.geomchat-receipt .geomchat-receipt-title{color:#9e8248;font-size:18px;font-weight:800;letter-spacing:-.01em}
.geomchat-receipt .geomchat-receipt-rule{height:1px;background:#e6d6b9;margin:14px 0}
.geomchat-receipt .geomchat-receipt-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;font-size:15px}
.geomchat-receipt .geomchat-receipt-row span{color:#7b6d5c}
.geomchat-receipt .geomchat-receipt-row strong{font-size:17px;color:#352c2b}
.geomchat-receipt .geomchat-receipt-amount{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f3ead6;border-radius:10px;padding:14px 16px;margin:14px 0 12px;font-size:16px}
.geomchat-receipt .geomchat-receipt-amount span{color:#5f5548}
.geomchat-receipt .geomchat-receipt-amount strong{font-size:18px;color:#9e8248}
.geomchat-receipt .geomchat-receipt-message{margin:6px 0 14px;font-size:15px;line-height:1.7;color:#4f453f}
.geomchat-receipt .geomchat-receipt-bank-label{display:block!important;margin:0 0 6px!important;font-size:13px!important;color:#8b7d69!important;opacity:1!important}
.geomchat-receipt .geomchat-receipt-bank{font-size:19px;font-weight:800;color:#4a4037}
.geomchat-receipt .geomchat-receipt-holder{margin-top:6px;font-size:15px;color:#5f5548}
@media(max-width:560px){.geomchat-receipt{width:100%!important}.geomchat-receipt .geomchat-receipt-title{font-size:16px}.geomchat-receipt .geomchat-receipt-row,.geomchat-receipt .geomchat-receipt-amount{font-size:14px}.geomchat-receipt .geomchat-receipt-bank{font-size:17px}}

.geomchat-pre-notice{background:#fffcf6!important;border:1px solid #d9c39b!important;color:#493c2e!important;max-width:95%!important;width:min(460px,100%);padding:16px!important;box-shadow:0 6px 18px rgba(83,61,26,.06)}
.geomchat-pre-title{font-weight:800;color:#987b43;font-size:17px;border-bottom:1px solid #e6d7bc;padding-bottom:12px;margin-bottom:12px}
.geomchat-pre-notice p{font-size:14px;line-height:1.7;margin:0 0 12px}
.geomchat-pre-prices{background:#f5ecdb;padding:9px 13px;border-radius:10px}
.geomchat-pre-prices>div{display:flex;justify-content:space-between;gap:8px;padding:6px 0;font-size:14px}
.geomchat-pre-prices b{color:#9e8248}
.geomchat-pre-example{font-size:12px;margin-top:12px;color:#6f6254}
.geomchat-pre-phone{font-size:14px;margin-top:10px;font-weight:700}

/* v0.4.8 — centrally presented pre-consultation information */
.geomchat-pre-overlay{position:fixed;inset:0;z-index:2147483000;background:rgba(26,22,26,.7);display:flex;justify-content:center;align-items:center;padding:14px;box-sizing:border-box}
.geomchat-pre-modal-panel{width:min(100%,560px);max-height:calc(100dvh - 28px);overflow-y:auto;background:#fffcf7;border:1px solid #ddc49b;border-radius:18px;box-shadow:0 25px 70px rgba(0,0,0,.3);padding:clamp(18px,3vw,30px);box-sizing:border-box}
.geomchat-pre-confirm{display:block;width:100%;margin-top:22px;border:0;border-radius:12px;background:#9e8248;color:white;font-weight:800;font-size:16px;padding:14px 10px;cursor:pointer}
.geomchat-pre-card{font-size:15px;color:#4b413a;text-align:left;white-space:normal}
.geomchat-pre-card h3{color:#987c46;font-size:23px;line-height:1.4;font-weight:850;text-align:center;margin:0 0 16px!important;padding-bottom:15px;border-bottom:1px solid #e7d7b8}
.geomchat-pre-card .geomchat-pre-intro{font-size:14px;line-height:1.7;margin:0 0 15px;text-align:center}
.geomchat-pre-card .geomchat-pre-limit{text-align:center;font-size:18px;line-height:1.5;font-weight:900;color:#51402e;background:#f7eedb;border-radius:10px;padding:14px 10px;margin:16px 0}
.geomchat-pre-card .geomchat-pre-prices{background:#f4ead7;border-radius:11px;padding:10px 18px}
.geomchat-pre-card .geomchat-pre-prices>div{display:flex;justify-content:space-between;align-items:center;font-size:15px;padding:10px 0;border-bottom:1px solid #e5d5b8}
.geomchat-pre-card .geomchat-pre-prices>div:last-child{border-bottom:0}
.geomchat-pre-card .geomchat-pre-prices strong{font-size:16px;color:#97773b}
.geomchat-pre-card .geomchat-pre-example{margin:17px 0 6px;font-size:13px;line-height:1.7;color:#62584a}
.geomchat-pre-card .geomchat-pre-pause{margin:0;font-size:13px;line-height:1.7;color:#62584a}
.geomchat-pre-card .geomchat-pre-offline{text-align:center;background:#f8f5ed;border:1px solid #e9dcc4;border-radius:10px;color:#5a4e3e;font-weight:800;line-height:1.7;padding:14px;margin:17px 0}
.geomchat-pre-card .geomchat-pre-phone{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:8px;color:#6f604e}
.geomchat-pre-card .geomchat-pre-phone span{font-size:12px}
.geomchat-pre-card .geomchat-pre-phone a{font-size:19px;font-weight:850;color:#82652d;text-decoration:none}
.geomchat-pre-notice{align-self:stretch!important;max-width:100%!important;width:100%!important;padding:15px!important;background:#fffcf6!important}
.geomchat-pre-notice .geomchat-pre-card{max-width:540px;margin:auto}
@media(max-width:480px){.geomchat-pre-card h3{font-size:19px}.geomchat-pre-card .geomchat-pre-limit{font-size:16px}.geomchat-pre-card .geomchat-pre-prices strong{font-size:15px}}

.geomchat-account-copy{display:block;width:100%;margin-top:12px;padding:11px 14px;border-radius:10px;background:#9e8248;color:#fff;border:0;font-size:14px;font-weight:800;cursor:pointer}

/* v0.4.12 compact notice and mobile messenger UI */
.geomchat-pre-overlay .geomchat-pre-modal-panel{width:min(100%,440px)!important}
.geomchat-pre-card .geomchat-pre-intro{font-weight:850;color:#6d542d;font-size:15px;text-align:left}
.geomchat-pre-card .geomchat-pre-limit{font-size:12px;font-weight:600;color:#6b5944;background:#faf4e8;margin:10px 0;padding:10px 12px}
.geomchat-pre-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.geomchat-pre-actions button{border:0;border-radius:10px;padding:13px 9px;font-size:15px;font-weight:850;cursor:pointer}
.geomchat-pre-actions .geomchat-pre-confirm{display:block;width:auto;margin:0;background:#9e8248;color:#fff}
.geomchat-pre-later{background:#ebe5dc;color:#554c44}
.geomchat-pre-actions button:disabled{opacity:.6;cursor:wait}
.geomchat-mobile-header,.geomchat-mobile-launcher{display:none}
@media(max-width:650px){
  body.geomchat-mobile-open{overflow:hidden!important}
  body.geomchat-mobile-open .geomchat-section{position:fixed!important;inset:0!important;z-index:2147482000!important;width:100%!important;height:100dvh!important;margin:0!important;padding:0!important;background:#fff!important}
  body.geomchat-mobile-open .geomchat-shell{height:100dvh!important;width:100%!important;max-width:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;display:flex!important;flex-direction:column!important}
  body.geomchat-mobile-open .geomchat-top{display:none!important}
  body.geomchat-mobile-open .geomchat-app{max-width:none!important;min-height:0!important;flex:1!important;display:flex!important;flex-direction:column!important;padding:0!important}
  body.geomchat-mobile-open #geomchat-room{display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important;flex:1!important;padding:0 10px 10px!important}
  body.geomchat-mobile-open .geomchat-mobile-header{display:flex!important;align-items:center;justify-content:space-between;gap:8px;min-height:53px;border-bottom:1px solid #e5dac7;margin:0 -10px 7px;padding:0 14px;background:#fffcf7;color:#775b2d;font-size:17px;font-weight:850}
  body.geomchat-mobile-open .geomchat-mobile-header button{border:0;background:#f0e8d9;color:#554637;border-radius:8px;min-width:36px;min-height:36px;font-size:18px}
  body.geomchat-mobile-open .geomchat-room-top{flex:0 0 auto;margin-bottom:6px}
  body.geomchat-mobile-open .geomchat-messages{flex:1!important;min-height:0!important;height:auto!important;overflow-y:auto!important;overscroll-behavior:contain}
  body.geomchat-mobile-open #geomchat-card-box{max-height:55dvh;overflow:auto;flex:0 0 auto}
  body.geomchat-mobile-open .geomchat-tools{flex:0 0 auto;padding:5px 0}
  body.geomchat-mobile-open #geomchat-send{display:flex!important;flex-direction:row!important;gap:7px!important;align-items:center!important;flex:0 0 auto}
  body.geomchat-mobile-open #geomchat-send textarea{min-height:44px!important;height:48px!important;max-height:100px!important;margin:3px 0!important;font-size:16px!important;resize:none}
  body.geomchat-mobile-open #geomchat-send button{width:auto!important;min-width:65px;padding:13px 10px!important}
  .geomchat-section:has(#geomchat-room:not([hidden])) .geomchat-mobile-launcher{display:block;position:fixed;bottom:78px;right:14px;z-index:500;background:#9e8248;border:0;border-radius:999px;padding:10px 15px;color:#fff;font-weight:800;box-shadow:0 5px 20px #0003}
  body.geomchat-mobile-open .geomchat-mobile-launcher{display:none!important}
  .geomchat-pre-overlay{z-index:2147483500!important}
}

/* v0.4.13: Reduced PC width and taller conversation */
@media(min-width:651px){.geomchat-shell{max-width:710px!important}.geomchat-messages{height:490px!important}}
/* Move the mobile full-screen panel to body to escape ancestors' stacking contexts */
@media(max-width:650px){body.geomchat-mobile-open>.geomchat-section{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;z-index:2147483646!important;isolation:isolate!important;width:100%!important;height:100dvh!important;padding:0!important;margin:0!important;overflow:hidden!important;background:#fff!important}body.geomchat-mobile-open>.geomchat-section .geomchat-shell{height:100%!important}body.geomchat-mobile-open>.geomchat-section #geomchat-room{padding-bottom:max(12px, env(safe-area-inset-bottom))!important}}

/* v0.4.14: 안내 카드를 다시 열지 않아도 진행 여부를 선택할 수 있습니다. */
.geomchat-pre-notice>.geomchat-inline-choices{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px!important}
.geomchat-pre-notice>.geomchat-inline-choices button{min-height:42px;cursor:pointer;font-weight:700}
.geomchat-pre-notice>.geomchat-inline-choices button:disabled{opacity:.6;cursor:wait}

.geomchat-pre-actions button.geomchat-choice-selected{box-shadow:0 0 0 3px #c5ab71 inset!important;outline:2px solid #82652d;outline-offset:2px}

/* v0.4.17: collapse customer info until the consultation button is selected */
.geomchat-app #geomchat-details[hidden],.geomchat-app #geomchat-initial-actions[hidden]{display:none!important}
.geomchat-app #geomchat-details{padding-top:12px}

/* v0.4.19: 고객카드 제출 없이 닫기 */
.geomchat-card-actions{display:flex;align-items:stretch;gap:10px;margin-top:12px}.geomchat-card-actions button{width:auto!important;flex:1 1 0;min-width:0;padding:13px 10px!important}.geomchat-card-actions #geomchat-card-close{flex:0 0 34%;background:#efece6!important;color:#625953!important;border:1px solid #dbd1c3!important}

/* v0.4.20: new inquiry is visible only after final closure; same pill style as timer. */
.geomchat-room-top{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}
.geomchat-room-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.geomchat-new{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ead6af!important;border-radius:999px!important;background:#fbf4e8!important;color:#8b6e39!important;padding:6px 12px!important;margin:0!important;font-weight:700;text-decoration:none!important;white-space:nowrap;line-height:1.3}
.geomchat-new[hidden]{display:none!important}

/* v0.4.25 kakao-style bubbles */
.geomchat-messages{gap:18px}
.geomchat-row{display:flex;align-items:flex-start;gap:10px;width:100%}
.geomchat-row.admin{justify-content:flex-end;flex-direction:row-reverse}
.geomchat-avatar{width:46px;height:46px;border-radius:999px;display:flex;align-items:center;justify-content:center;flex:0 0 46px;font-size:10px;font-weight:800;line-height:1.15;letter-spacing:-.02em;text-align:center;padding:4px;box-shadow:0 2px 8px rgba(50,40,30,.08)}
.geomchat-avatar.customer{background:#fff;border:1px solid #e3d7c6;color:#5b5048}
.geomchat-avatar.admin{background:#f3e6ca;border:1px solid #dfc691;color:#6d5427}
.geomchat-stack{display:flex;flex-direction:column;max-width:calc(100% - 58px)}
.geomchat-row.admin .geomchat-stack{align-items:flex-end}
.geomchat-kind-label{font-size:11px;font-weight:800;color:#8a7b74;margin:0 0 4px 6px}
.geomchat-row.admin .geomchat-kind-label{margin:0 6px 4px 0;text-align:right}
.geomchat-bubble-wrap{position:relative;max-width:100%}
.geomchat-row .geomchat-bubble{position:relative;max-width:none;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px 14px;border-radius:18px;font-size:14px;line-height:1.6;box-shadow:0 4px 10px rgba(68,53,32,.05)}
.geomchat-row.customer .geomchat-bubble{background:#fff;border:1px solid #e7ddd1;color:#342b32;border-top-left-radius:8px}
.geomchat-row.admin .geomchat-bubble{background:#efe3c8;color:#392d22;border:1px solid #e4d1ac;border-top-right-radius:8px}
.geomchat-row.admin .geomchat-bubble.quick,.geomchat-row.admin .geomchat-bubble.system{background:#e8e1f3;color:#483c56;border-color:#d4cae6}
.geomchat-row.admin .geomchat-bubble.card_request{background:#f8f0dd;color:#4a3c26;border-color:#e4cd9d}
.geomchat-row .geomchat-bubble::before{content:'';position:absolute;top:10px;width:12px;height:12px;background:inherit;border:inherit;border-top:0;border-right:0;transform:rotate(45deg)}
.geomchat-row.customer .geomchat-bubble::before{left:-6px}
.geomchat-row.admin .geomchat-bubble::before{right:-6px;transform:rotate(225deg)}
.geomchat-row .geomchat-bubble img{display:block;max-width:100%;max-height:280px;border-radius:10px;cursor:zoom-in}
.geomchat-time{font-size:11px;color:#8a7f79;margin-top:5px;padding:0 8px}
.geomchat-row.customer .geomchat-time{text-align:left}
.geomchat-row.admin .geomchat-time{text-align:right}
.geomchat-row .geomchat-card-inline{margin-top:10px}
.geomchat-row .geomchat-card-inline button{background:#9e8248;color:#fff;border:0;border-radius:10px;padding:9px 12px;font-weight:700;cursor:pointer}
@media(max-width:560px){
  .geomchat-avatar{width:40px;height:40px;flex-basis:40px;font-size:9px}
  .geomchat-stack{max-width:calc(100% - 50px)}
  .geomchat-row .geomchat-bubble{font-size:13px;padding:11px 13px}
}


/* v0.4.26: right anchored dialogue rows and precise compact speech tails */
.geomchat-messages>.geomchat-row,
.gc-lines>.gc-row{align-self:stretch!important;width:100%!important;min-width:0!important;box-sizing:border-box!important}
.geomchat-messages>.geomchat-row.admin,
.gc-lines>.gc-row.admin{flex-direction:row-reverse!important;justify-content:flex-start!important}
.geomchat-messages>.geomchat-row.customer,
.gc-lines>.gc-row.customer{flex-direction:row!important;justify-content:flex-start!important}
.geomchat-row.admin .geomchat-stack,.gc-row.admin .gc-stack{margin-left:auto!important;align-items:flex-end!important}
.geomchat-row.customer .geomchat-stack,.gc-row.customer .gc-stack{margin-right:auto!important;align-items:flex-start!important}
.geomchat-row .geomchat-bubble-wrap,.gc-row .gc-bubble-wrap{width:fit-content!important;max-width:100%!important;min-width:0!important}
.geomchat-row .geomchat-bubble,.gc-row .gc-bubble{display:block!important;width:fit-content!important;max-width:100%!important;border-radius:12px!important;box-sizing:border-box!important}
.geomchat-row.customer .geomchat-bubble,.gc-row.customer .gc-bubble{border-top-left-radius:6px!important}
.geomchat-row.admin .geomchat-bubble,.gc-row.admin .gc-bubble{border-top-right-radius:6px!important}
.geomchat-row .geomchat-bubble::before,.gc-row .gc-bubble::before{content:''!important;position:absolute!important;top:10px!important;width:10px!important;height:13px!important;border:0!important;background:inherit!important;box-shadow:none!important}
.geomchat-row.customer .geomchat-bubble::before,.gc-row.customer .gc-bubble::before{left:-9px!important;right:auto!important;transform:none!important;clip-path:polygon(100% 0,100% 100%,0 45%)!important}
.geomchat-row.admin .geomchat-bubble::before,.gc-row.admin .gc-bubble::before{right:-9px!important;left:auto!important;transform:none!important;clip-path:polygon(0 0,100% 45%,0 100%)!important}
.geomchat-row.admin .geomchat-kind-label,.gc-row.admin .gc-kind-label{text-align:right!important;align-self:flex-end!important}
.geomchat-row.admin .geomchat-time,.gc-row.admin .gc-time{text-align:right!important;align-self:flex-end!important}
.geomchat-row.customer .geomchat-time,.gc-row.customer .gc-time{text-align:left!important;align-self:flex-start!important}

/* v0.4.26: compact tails, right-anchored advisor messages and no x overflow */
.geomchat-section,.geomchat-shell,.geomchat-app,#geomchat-room,.geomchat-messages{max-width:100%;min-width:0;box-sizing:border-box}
.geomchat-messages{overflow-x:hidden!important}
.geomchat-row{max-width:100%;min-width:0;box-sizing:border-box}
.geomchat-row.customer{justify-content:flex-start!important;flex-direction:row!important}
.geomchat-row.admin{justify-content:flex-start!important;flex-direction:row-reverse!important}
.geomchat-row .geomchat-stack{width:fit-content;max-width:min(75%,560px);min-width:0}
.geomchat-row.admin .geomchat-stack{align-items:flex-end!important}
.geomchat-row.customer .geomchat-stack{align-items:flex-start!important}
.geomchat-row .geomchat-bubble-wrap{min-width:0;max-width:100%}
.geomchat-row .geomchat-bubble{border-radius:12px!important;max-width:100%;width:fit-content;box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word}
.geomchat-row.customer .geomchat-bubble{border-top-left-radius:5px!important}
.geomchat-row.admin .geomchat-bubble{border-top-right-radius:5px!important}
.geomchat-row .geomchat-bubble::before{top:12px!important;width:9px!important;height:9px!important;box-shadow:none!important}
.geomchat-row.customer .geomchat-bubble::before{left:-5px!important;transform:rotate(45deg)!important}
.geomchat-row.admin .geomchat-bubble::before{right:-5px!important;transform:rotate(225deg)!important}
.geomchat-row .geomchat-time{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.geomchat-messages .geomchat-pre-notice,.geomchat-messages .geomchat-receipt{max-width:100%!important;min-width:0!important;box-sizing:border-box}
.geomchat-messages .geomchat-pre-card{max-width:100%;min-width:0}
.geomchat-messages img{max-width:100%;height:auto}
@media(max-width:560px){.geomchat-row .geomchat-stack{max-width:calc(100% - 52px)}}


/* Image preview overlay for both customer and administrator */
.geomchat-photo-viewer{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;z-index:2147483647!important;background:rgba(18,15,20,.9)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:12px!important;padding:20px!important;box-sizing:border-box!important;cursor:zoom-out!important;overflow:hidden!important}
.geomchat-photo-viewer img{display:block!important;width:auto!important;height:auto!important;max-width:95vw!important;max-height:calc(100dvh - 85px)!important;max-height:calc(100vh - 85px);object-fit:contain!important;border-radius:6px!important;box-shadow:0 8px 40px rgba(0,0,0,.35)!important;cursor:zoom-out!important}
.geomchat-photo-viewer-hint{font-size:13px!important;line-height:1.5!important;color:#fff!important;text-align:center!important}
.geomchat-row img[role="button"],.gc-row img[role="button"],.gc-line img[role="button"]{cursor:zoom-in!important}

/* v0.4.32 birthday request input */
.geomchat-birthday-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.geomchat-birthday-form input{max-width:165px!important;min-width:120px!important;width:150px!important;margin:0!important;font-size:14px!important;padding:9px 10px!important}
.geomchat-birthday-form button{background:#9e8248;color:white;border:0;border-radius:8px;padding:10px 12px;cursor:pointer;font-weight:700}
.geomchat-birthday-form button:disabled{opacity:.5;cursor:wait}

/* v0.4.34 clickable birthday card */
.geomchat-birthday-form[hidden],.geomchat-birthday-action button[hidden]{display:none!important}
.geomchat-birthday-action>button{background:#9e8248!important;color:#fff!important;border-radius:10px!important;padding:11px 15px!important}
.geomchat-birthday-form{align-items:stretch;flex-direction:column;gap:8px}
.geomchat-birthday-form input{max-width:100%!important;width:100%!important}
.geomchat-birthday-controls{display:flex;gap:8px;flex-wrap:wrap}
.geomchat-birthday-controls button{flex:1}
.geomchat-birthday-controls .geomchat-birthday-cancel{background:#eee9e1!important;color:#4f4743!important}

/* v0.4.37: mobile birthday action visibility and minimum tap target */
.geomchat-row .geomchat-birthday-action{display:block!important;visibility:visible!important;max-width:100%;margin-top:12px}
.geomchat-row .geomchat-birthday-action>button:not([hidden]){display:block!important;visibility:visible!important;min-height:44px;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.geomchat-row .geomchat-birthday-form:not([hidden]){display:flex!important;min-width:0}

/* v0.4.38: compact birthday submit/cancel buttons, mobile and desktop. */
.geomchat-app .geomchat-row .geomchat-birthday-controls{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;margin-top:2px!important}
.geomchat-app .geomchat-row .geomchat-birthday-controls button{box-sizing:border-box!important;flex:1 1 0!important;width:0!important;min-width:0!important;height:40px!important;min-height:40px!important;max-height:40px!important;padding:0 8px!important;margin:0!important;line-height:1.15!important;font-size:13px!important;font-weight:700!important;border-radius:9px!important;white-space:nowrap!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
@media(max-width:560px){.geomchat-app .geomchat-row .geomchat-birthday-controls button{height:38px!important;min-height:38px!important;max-height:38px!important;font-size:12px!important;padding:0 5px!important}}

/* v0.4.39: buttons for electronic business card and Naver map URLs */
.geomchat-action-link,.geomchat-action-link:visited{
 display:inline-flex!important;align-items:center;justify-content:center;
 padding:10px 16px!important;margin:8px 0 4px!important;
 border:1px solid #977d4c!important;border-radius:10px!important;
 background:#9e8248!important;color:#fff!important;
 font-weight:750!important;font-size:14px!important;
 text-align:center;text-decoration:none!important;line-height:1.45!important;
 max-width:100%;overflow-wrap:anywhere;box-shadow:0 2px 5px #6e57301c;
}
.geomchat-action-link:hover,.geomchat-action-link:focus-visible{
 background:#806637!important;color:#fff!important;text-decoration:none!important;
}
@media(max-width:650px){.geomchat-action-link{font-size:13px!important;padding:9px 12px!important}}

/* v0.4.42: consultation bubble and profile polish */
.gc-lines,.geomchat-messages{background:#F5F5F5!important}
.gc-row.admin .gc-bubble,.geomchat-row.admin .geomchat-bubble{background:#EBE0FB!important;border-color:#d8c6f2!important;color:#3b3048!important}
.gc-row.admin .gc-bubble.quick,.geomchat-row.admin .geomchat-bubble.quick{background:#EBE0FB!important;border-color:#d8c6f2!important;color:#3b3048!important}
.gc-row.admin .gc-bubble.card_request,.geomchat-row.admin .geomchat-bubble.card_request{background:#f8f0dd!important;border-color:#e4cd9d!important;color:#4a3c26!important}
.gc-avatar,.geomchat-avatar{padding:0!important;overflow:hidden!important;background:#fff!important}
.gc-avatar .gc-profile-photo,.geomchat-avatar .gc-profile-photo{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;border-radius:50%!important;border:0!important;box-shadow:none!important;cursor:inherit}
.gc-note-delete{margin-left:6px!important;color:#aa4343!important;border-color:#e7c5c5!important;background:#fff8f8!important}


/* v0.4.43 - softer lavender bubbles and harmonious blue-lilac links */
.gc-lines,.geomchat-messages{background:#F5F5F5!important}
.gc-row.admin .gc-bubble,.geomchat-row.admin .geomchat-bubble,
.gc-row.admin .gc-bubble.quick,.geomchat-row.admin .geomchat-bubble.quick{
  background:#F3EDFC!important;
  border-color:#DDD4EF!important;
  color:#423B54!important;
}
/* Keep customer bubbles white and special customer information cards distinct. */
.geomchat-action-link,.geomchat-action-link:visited,
.geomchat-app .geomchat-birthday-action>button:not([hidden]),
.geomchat-app .geomchat-birthday-form .geomchat-birthday-controls button:not(.geomchat-birthday-cancel),
.gc-birthday-preview button{
  background:#DCE5FA!important;
  color:#424D78!important;
  border:1px solid #C4CFEC!important;
  box-shadow:0 2px 6px rgba(88,91,137,.08)!important;
  text-decoration:none!important;
}
.geomchat-action-link:hover,.geomchat-action-link:focus-visible,
.geomchat-app .geomchat-birthday-action>button:hover,
.geomchat-app .geomchat-birthday-form .geomchat-birthday-controls button:not(.geomchat-birthday-cancel):hover{
  background:#CEDBF7!important;
  color:#39446E!important;
  border-color:#ACBDE7!important;
}
.geomchat-app .geomchat-birthday-form .geomchat-birthday-controls .geomchat-birthday-cancel{
  background:#F0EDF6!important;color:#5D5A70!important;border:1px solid #DDD8E8!important;
}

/* v0.4.44: admin-only anonymous option */
.gc-anonymous-allow{background:#efedf7!important;border-color:#d7cfea!important;color:#60557f!important}
.geomchat-card-inline .gc-anon-accept{background:#e9e8f4!important;color:#55506e!important;border:1px solid #d4d1e5!important;font-size:13px!important}

/* v0.4.46 compact customer-card action (front only) */
.geomchat-app .geomchat-row .geomchat-card-inline button.geomchat-card-compact-btn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:auto!important;max-width:100%!important;min-height:38px!important;height:auto!important;
  padding:8px 14px!important;line-height:1.35!important;font-size:14px!important;
  border-radius:9px!important;white-space:nowrap!important;
}
.geomchat-card-field-hint{font-size:12px;color:#837569;margin:7px 1px 0;line-height:1.4;}
@media(max-width:560px){.geomchat-app .geomchat-row .geomchat-card-inline button.geomchat-card-compact-btn{font-size:13px!important;padding:8px 12px!important;min-height:36px!important}}

/* v0.4.49: general inquiry response state */
.geomchat-status[data-state=responding]{background:#e9e8f4;color:#645d80}

/* v0.4.52 Homepage event — separate from the independent NOTICE plugin */
.geomchat-event{max-width:710px;margin:0 auto 16px;padding:23px 24px 21px;border:1px solid #e2d1b0;border-radius:17px;background:linear-gradient(135deg,#fffdf9,#f8f1e5);box-shadow:0 9px 25px #34291a0a;text-align:center}
.geomchat-event-kicker{font-size:12px;letter-spacing:.035em;font-weight:800;color:#886c3c;margin-bottom:10px}
.geomchat-section .geomchat-event h2{font-size:clamp(23px,3vw,30px)!important;line-height:1.3!important;font-weight:900!important;letter-spacing:-.045em;color:#382b3c!important;margin:0 0 7px!important}
.geomchat-event p{font-size:14px;line-height:1.55;color:#686059;margin:0 0 15px}
.geomchat-event-meta{display:flex;justify-content:center;align-items:center;gap:8px 13px;flex-wrap:wrap;font-size:12px;color:#846935;font-weight:750}
.geomchat-event-meta span{padding:6px 11px;border-radius:999px;background:#f2e8d6;border:1px solid #e9dabc}
@media(max-width:650px){.geomchat-event{padding:18px 12px 17px;margin-bottom:10px}.geomchat-event-kicker{font-size:11px}.geomchat-event-meta{font-size:11px}.geomchat-event-meta span{padding:5px 9px}}


/* v0.4.53 — single compact event + chat card, NOTICE remains separate. */
.geomchat-shell{overflow:hidden}
.geomchat-shell>.geomchat-event{width:auto;max-width:none;margin:0;border:0;border-bottom:1px solid #ebe1d2;border-radius:0;background:linear-gradient(135deg,#fffdf9,#faf5ed);box-shadow:none;padding:22px 20px 14px}
.geomchat-shell>.geomchat-event .geomchat-event-meta span:first-child{display:none}
.geomchat-shell>.geomchat-event .geomchat-event-meta span:last-child{border:0;background:transparent;padding:0;font-weight:650;color:#826f5a}
.geomchat-shell:has(>.geomchat-event) .geomchat-top{padding-top:13px;padding-bottom:12px;border-bottom:0;text-align:center}
.geomchat-shell:has(>.geomchat-event) .geomchat-head{width:100%}
.geomchat-shell:has(>.geomchat-event) .geomchat-kicker{display:none}
.geomchat-shell:has(>.geomchat-event) .geomchat-title-row{justify-content:center;gap:12px}
.geomchat-shell:has(>.geomchat-event) .geomchat-title-row h2{font-size:20px!important}
.geomchat-shell:has(>.geomchat-event) .geomchat-top p{margin:4px 0 0}
.geomchat-shell:has(>.geomchat-event) .geomchat-app{padding-top:5px}
@media(max-width:650px){
 .geomchat-shell>.geomchat-event{padding:17px 13px 12px}
 .geomchat-shell>.geomchat-event .geomchat-event-kicker{font-size:11px;line-height:1.5;margin-bottom:5px;letter-spacing:0}
 .geomchat-section .geomchat-shell>.geomchat-event h2{font-size:22px!important;line-height:1.25!important;margin-bottom:5px!important}
 .geomchat-shell>.geomchat-event p{font-size:12px;margin:0 0 8px;line-height:1.45}
 .geomchat-shell>.geomchat-event .geomchat-event-meta{font-size:11px;gap:0}
 .geomchat-shell:has(>.geomchat-event) .geomchat-top{padding:10px 12px 8px}
 .geomchat-shell:has(>.geomchat-event) .geomchat-title-row{gap:8px;flex-wrap:wrap}
 .geomchat-shell:has(>.geomchat-event) .geomchat-title-row h2{font-size:17px!important}
 .geomchat-shell:has(>.geomchat-event) .geomchat-status{padding:5px 9px;font-size:11px}
 .geomchat-shell:has(>.geomchat-event) .geomchat-top p{font-size:12px;margin-top:3px}
 .geomchat-shell:has(>.geomchat-event) .geomchat-app{padding-top:4px}
}

/* v0.4.54: a single, calm tarot-inspired heading for the event and chat */
.geomchat-shell>.geomchat-event{padding:25px 22px 20px;border-bottom:1px solid #efe6d8;background:linear-gradient(155deg,#fffcf7,#faf5eb)}
.geomchat-shell>.geomchat-event .geomchat-event-kicker{font-size:12px;margin:0 0 13px;color:#8b6d37;font-weight:750;letter-spacing:.01em}
.geomchat-event-sparkle{color:#a28347;font-size:17px;vertical-align:-1px;margin-right:3px}
.geomchat-event-title-row{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
.geomchat-section .geomchat-event-title-row h2{font-size:clamp(24px,3.3vw,33px)!important;line-height:1.28!important;letter-spacing:-.045em!important;margin:0!important;color:#382b3c!important;font-weight:850!important}
.geomchat-event-title-row .geomchat-status{flex-shrink:0;font-size:12px}
.geomchat-event-divider{display:flex;justify-content:center;align-items:center;gap:9px;margin:13px auto 12px;color:#b09a71;font-size:11px}
.geomchat-event-divider::before,.geomchat-event-divider::after{content:"";width:46px;max-width:16%;height:1px;background:linear-gradient(90deg,transparent,#dac7a5)}
.geomchat-event-divider::after{transform:rotate(180deg)}
.geomchat-event-divider span:nth-child(2){font-size:15px;color:#a98a50}
.geomchat-event-period{font-size:12px;color:#816d4e;line-height:1.6;font-weight:650}
.geomchat-shell>.geomchat-event p{font-size:13px;color:#6d645e;margin:5px 0 0;line-height:1.55}
@media(max-width:650px){
 .geomchat-shell>.geomchat-event{padding:19px 12px 17px}
 .geomchat-shell>.geomchat-event .geomchat-event-kicker{font-size:11px;line-height:1.45;margin-bottom:10px}
 .geomchat-event-sparkle{font-size:14px}
 .geomchat-event-title-row{gap:8px}
 .geomchat-section .geomchat-event-title-row h2{font-size:23px!important}
 .geomchat-event-title-row .geomchat-status{font-size:10px;padding:5px 8px}
 .geomchat-event-divider{margin:10px auto 9px;gap:7px}
 .geomchat-event-divider::before,.geomchat-event-divider::after{width:32px}
 .geomchat-event-period{font-size:11px}
 .geomchat-shell>.geomchat-event p{font-size:12px;margin-top:5px}
}

/* v0.4.55 — concise promotion header, two equal-width actions on mobile and desktop. */
.geomchat-shell>.geomchat-event{padding:22px 18px 16px}
.geomchat-shell>.geomchat-event .geomchat-event-kicker{font-size:13px;margin-bottom:10px}
.geomchat-event-title-row .geomchat-event-status-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.geomchat-shell:has(>.geomchat-event) #geomchat-initial-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:0}
.geomchat-shell:has(>.geomchat-event) #geomchat-initial-actions>button{width:100%;min-width:0;min-height:58px;padding:12px 7px!important;font-size:clamp(13px,2.8vw,17px);line-height:1.3;white-space:normal}
.geomchat-shell:has(>.geomchat-event) .geomchat-app{padding-top:14px}
@media(max-width:650px){
 .geomchat-shell>.geomchat-event{padding:17px 11px 15px}
 .geomchat-shell>.geomchat-event .geomchat-event-kicker{font-size:12px;margin-bottom:9px}
 .geomchat-shell:has(>.geomchat-event) #geomchat-initial-actions{gap:8px}
 .geomchat-shell:has(>.geomchat-event) #geomchat-initial-actions>button{min-height:54px;padding:12px 5px!important;font-size:14px}
 .geomchat-shell:has(>.geomchat-event) .geomchat-app{padding:13px}
}

/* v0.4.56: restore the animated event sparkle, without changing the compact layout. */
.geomchat-event-kicker .geomchat-event-sparkle{display:inline-block;transform-origin:center;animation:geomchat-event-sparkle-dance 2.5s ease-in-out infinite;will-change:transform,opacity}
@keyframes geomchat-event-sparkle-dance{0%,100%{transform:translateY(0) rotate(-9deg) scale(1);opacity:.8}30%{transform:translateY(-3px) rotate(9deg) scale(1.25);opacity:1}58%{transform:translateY(1px) rotate(-4deg) scale(.9);opacity:.75}78%{transform:translateY(-2px) rotate(5deg) scale(1.12);opacity:1}}
@media(prefers-reduced-motion:reduce){.geomchat-event-kicker .geomchat-event-sparkle{animation:none!important;will-change:auto}}

/* v0.4.57: reuse the original animated megaphone for the event heading. */
.geomchat-event-kicker .geomchat-event-megaphone{display:inline-block;margin-right:4px;vertical-align:-1px;animation:geomchat-notice-bob 2.4s ease-in-out infinite;transform-origin:50% 80%}
@media(prefers-reduced-motion:reduce){.geomchat-event-kicker .geomchat-event-megaphone{animation:none!important}}

/* v0.4.58 - Homepage event typography only; does not style chat controls. */
.geomchat-section .geomchat-shell>.geomchat-event .geomchat-event-kicker{
  font-size:clamp(14px,1.6vw,16px);line-height:1.55;letter-spacing:-.015em;
}
.geomchat-section .geomchat-shell>.geomchat-event .geomchat-event-title-row h2{
  font-family:'Pretendard','Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif!important;
  font-size:clamp(30px,4vw,40px)!important;
  font-weight:750!important;letter-spacing:-.055em!important;line-height:1.32!important;
  color:#44334c!important;
  background:linear-gradient(110deg,#382b3c 0%,#765b78 26%,#977443 52%,#665171 75%,#382b3c 100%);
  background-size:260% 100%;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;animation:geomchat-title-color-flow 11s ease-in-out infinite;
}
.geomchat-section .geomchat-shell>.geomchat-event .geomchat-event-period{
  font-size:clamp(13px,1.5vw,15px);line-height:1.65;
}
.geomchat-section .geomchat-shell>.geomchat-event p{
  font-size:clamp(14px,1.55vw,16px);line-height:1.65;
}
@keyframes geomchat-title-color-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(max-width:650px){
  .geomchat-section .geomchat-shell>.geomchat-event .geomchat-event-kicker{font-size:13.5px;line-height:1.5}
  .geomchat-section .geomchat-shell>.geomchat-event .geomchat-event-title-row h2{font-size:clamp(27px,6.4vw,34px)!important}
  .geomchat-section .geomchat-shell>.geomchat-event .geomchat-event-period{font-size:12.5px}
  .geomchat-section .geomchat-shell>.geomchat-event p{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .geomchat-section .geomchat-shell>.geomchat-event .geomchat-event-title-row h2{animation:none!important;background-position:0% 50%}
}

/* v0.4.59: temporary typing bubble, visually consistent with received messages. */
.gc-typing-indicator{align-self:flex-start!important;width:max-content!important;max-width:85%;margin:3px 0 6px 4px;padding:11px 14px;border-radius:14px 14px 14px 5px;background:#fffdf8;color:#a2a1a0;border:1px solid #ece9e2;box-shadow:0 2px 7px rgba(30,25,20,.035);font-size:13px;letter-spacing:0;display:flex;align-items:center;gap:6px;white-space:nowrap}
.gc-typing-dots{display:inline-flex;align-items:center;gap:4px;height:18px}
.gc-typing-dots i{display:block;width:7px;height:7px;border-radius:50%;background:#b9b7b2;animation:gc-typing-wave 1.05s ease-in-out infinite}
.gc-typing-dots i:nth-child(2){animation-delay:.15s}.gc-typing-dots i:nth-child(3){animation-delay:.30s}
@keyframes gc-typing-wave{0%,65%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
@media(prefers-reduced-motion:reduce){.gc-typing-dots i{animation:none;opacity:.75}}

/* v0.4.63: only the mobile full-screen chat hides its homepage promotion. */
@media(max-width:650px){
 body.geomchat-mobile-open #geomchat-section .geomchat-shell>.geomchat-event{display:none!important}
 body.geomchat-mobile-open #geomchat-section #geomchat-send textarea{height:76px!important;min-height:76px!important;max-height:130px!important;line-height:1.45!important;resize:none!important}
}
/* Typing bubble follows the same avatar + bubble layout as a received message. */
#geomchat-messages .gc-typing-row{display:flex;align-items:flex-end;justify-content:flex-start;gap:10px;width:100%;flex:0 0 auto}
#geomchat-messages .gc-typing-row .gc-typing-indicator{align-self:auto!important;margin:0 0 1px!important}
#geomchat-messages .gc-typing-avatar{flex-shrink:0!important}

/* v0.4.64: advisor's live typing appears on the advisor's (right) side. */
#geomchat-messages .gc-typing-row-admin{justify-content:flex-end!important}
#geomchat-messages .gc-typing-row-admin .gc-typing-indicator{order:1!important;margin:0!important;border-radius:14px 14px 5px 14px}
#geomchat-messages .gc-typing-row-admin .gc-typing-avatar{order:2!important}
/* Compact message tools, scoped to the visitor composer only. */
#geomchat-room .geomchat-tools{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;flex-wrap:nowrap!important;padding:4px 0 6px!important;margin:0!important}
#geomchat-room .gc-quick-emoji-bar{display:flex;align-items:center;gap:2px;min-width:0;flex:0 1 auto;max-width:calc(100% - 50px);padding:3px 5px;background:#f6f1e8;border:1px solid #e8dccb;border-radius:13px;overflow-x:auto;scrollbar-width:none}
#geomchat-room .gc-quick-emoji-bar::-webkit-scrollbar{display:none}
#geomchat-room .gc-quick-emoji-bar button{flex:0 0 auto;border:none!important;background:transparent!important;min-width:34px;min-height:34px;padding:3px!important;font-size:20px!important;line-height:1.2;border-radius:9px;cursor:pointer}
#geomchat-room .gc-quick-emoji-bar button:focus-visible{outline:2px solid #9e8248}
#geomchat-room .geomchat-photo-label{display:inline-flex;flex:0 0 40px;align-items:center;justify-content:center;width:40px;height:40px;margin-left:auto;background:#f6f1e8;border:1px solid #e8dccb;border-radius:12px;font-size:21px;cursor:pointer}
#geomchat-room #geomchat-send{display:flex!important;flex-direction:row!important;align-items:stretch!important;gap:8px!important;width:100%}
#geomchat-room #geomchat-send textarea{flex:1 1 0!important;min-width:0!important;margin:3px 0!important}
#geomchat-room #geomchat-send .gc-send-icon{flex:0 0 48px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:48px!important;min-width:48px!important;max-width:48px!important;padding:0!important;border-radius:13px!important;align-self:stretch!important;min-height:60px!important}
#geomchat-room #geomchat-send .gc-send-icon svg{width:25px;height:25px;display:block}
@media(max-width:650px){
 body.geomchat-mobile-open #geomchat-room .geomchat-tools{padding:3px 0 5px!important}
 body.geomchat-mobile-open #geomchat-room #geomchat-send .gc-send-icon{width:48px!important;min-width:48px!important;max-width:48px!important;min-height:76px!important;padding:0!important}
}

/* v0.4.65: keep the paper-plane control precisely as tall as the message field. */
#geomchat-room #geomchat-send{align-items:stretch!important}
#geomchat-room #geomchat-send textarea{height:76px!important;min-height:76px!important;max-height:76px!important;margin:0!important;box-sizing:border-box!important;resize:none!important}
#geomchat-room #geomchat-send .gc-send-icon{height:76px!important;min-height:76px!important;max-height:76px!important;align-self:auto!important;box-sizing:border-box!important;margin:0!important}
@media(max-width:650px){body.geomchat-mobile-open #geomchat-room #geomchat-send textarea{height:76px!important;min-height:76px!important;max-height:76px!important;margin:0!important}body.geomchat-mobile-open #geomchat-room #geomchat-send .gc-send-icon{height:76px!important;min-height:76px!important;max-height:76px!important;margin:0!important}}

/* v0.4.66 mobile-safe composer: grid prevents intrinsic textarea width from pushing send offscreen. */
#geomchat-room, #geomchat-room .geomchat-tools, #geomchat-room #geomchat-send{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
#geomchat-room #geomchat-send{display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;align-items:stretch!important;column-gap:8px!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow:visible!important}
#geomchat-room #geomchat-send #geomchat-text{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;grid-column:1!important;box-sizing:border-box!important;flex:none!important;overflow-y:auto!important;height:76px!important;min-height:76px!important;max-height:76px!important;margin:0!important}
#geomchat-room #geomchat-send .gc-send-icon{grid-column:2!important;display:flex!important;flex:none!important;box-sizing:border-box!important;width:48px!important;min-width:0!important;max-width:48px!important;height:76px!important;min-height:76px!important;max-height:76px!important;padding:0!important;margin:0!important;align-self:stretch!important}
#geomchat-room .geomchat-tools{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;column-gap:8px!important;align-items:center!important;width:100%!important;overflow:hidden!important}
#geomchat-room .geomchat-photo-label{grid-column:1!important;grid-row:1!important;margin:0!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:42px!important;flex:none!important}
#geomchat-room .gc-quick-emoji-bar{grid-column:2!important;grid-row:1!important;display:flex!important;min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;flex:none!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x!important;scrollbar-width:thin!important}
#geomchat-room .gc-quick-emoji-bar button{flex-shrink:0!important;white-space:nowrap!important}
#geomchat-room .gc-quick-emoji-bar .gc-emoji-more{font-size:22px!important;color:#7f6b51!important}
@media(max-width:650px){body.geomchat-mobile-open #geomchat-room #geomchat-send{display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important}body.geomchat-mobile-open #geomchat-room #geomchat-send #geomchat-text{width:100%!important;min-width:0!important}body.geomchat-mobile-open #geomchat-room #geomchat-send .gc-send-icon{width:48px!important;min-width:0!important;max-width:48px!important;padding:0!important}}

/* v0.4.67: stable picker and photo-source chooser, only in customer chat. */
#geomchat-room .gc-quick-emoji-bar .gc-emoji-more{position:sticky!important;left:0!important;z-index:2!important;background:#eee4d3!important;border-radius:8px!important}
#geomchat-room .gc-photo-choices{display:flex;gap:8px;flex-wrap:wrap;padding:7px 0 8px;box-sizing:border-box}
#geomchat-room .gc-photo-choices[hidden]{display:none!important}
#geomchat-room .gc-photo-choices button{flex:1 1 140px;min-width:0;border:1px solid #e0d3c2!important;background:#f9f4eb!important;border-radius:10px!important;padding:10px 8px!important;color:#54483b!important;font-size:14px!important;cursor:pointer}

/* v0.4.68 — isolated 3-column toolbar; only favorites scroll, not + or camera. */
#geomchat-room .geomchat-tools{grid-template-columns:44px 42px minmax(0,1fr)!important;gap:7px!important;overflow:hidden!important;align-items:center!important}
#geomchat-room .geomchat-photo-label{grid-column:1!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important;color:#384048!important;background:#f6f1e8!important;border:1px solid #e8dccb!important;padding:0!important;font-size:22px!important;line-height:1!important;appearance:none!important}
#geomchat-room .geomchat-photo-label svg{display:block!important;flex:none!important;width:25px!important;height:25px!important;max-width:none!important;max-height:none!important;visibility:visible!important;opacity:1!important}
#geomchat-room .geomchat-tools>.gc-emoji-more-fixed{grid-column:2!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0!important;border:1px solid #e8dccb!important;border-radius:12px!important;background:#eee4d3!important;color:#7f6b51!important;font-size:28px!important;line-height:1!important;font-weight:400!important;flex:none!important;position:relative!important;z-index:1!important}
#geomchat-room .gc-quick-emoji-bar{grid-column:3!important;grid-row:1!important;margin:0!important;padding:3px 5px!important;min-width:0!important;max-width:100%!important;width:100%!important;scroll-padding-left:5px;overscroll-behavior-x:contain!important}
#geomchat-room .gc-quick-emoji-bar button{flex:0 0 auto!important;min-width:34px!important}

/* v0.4.71: camera remains independent; the plus control belongs to the same
   softly bordered toolbar as the scrolling emoji items on narrow screens. */
#geomchat-room .geomchat-tools{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:7px!important;align-items:center!important;overflow:visible!important}
#geomchat-room .geomchat-tools>.geomchat-photo-label{grid-column:1!important;grid-row:1!important}
#geomchat-room .geomchat-tools>.gc-emoji-combined{grid-column:2!important;grid-row:1!important;display:flex!important;align-items:center!important;min-width:0!important;width:100%!important;max-width:100%!important;height:44px!important;padding:3px!important;gap:3px!important;box-sizing:border-box!important;border:1px solid #e8dccb!important;border-radius:13px!important;background:#f6f1e8!important;overflow:hidden!important}
#geomchat-room .geomchat-tools>.gc-emoji-combined>.gc-emoji-more-fixed{position:static!important;flex:0 0 39px!important;width:39px!important;min-width:39px!important;max-width:39px!important;height:36px!important;min-height:36px!important;grid-column:auto!important;grid-row:auto!important;border:none!important;border-radius:9px!important;box-shadow:none!important;background:#eee4d3!important;margin:0!important;z-index:1!important}
#geomchat-room .geomchat-tools>.gc-emoji-combined>.gc-quick-emoji-bar{grid-column:auto!important;grid-row:auto!important;flex:1 1 auto!important;min-width:0!important;max-width:none!important;width:auto!important;height:36px!important;padding:0 1px!important;border:none!important;border-radius:0!important;background:transparent!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;display:flex!important;align-items:center!important;gap:3px!important;scrollbar-width:none!important}
#geomchat-room .geomchat-tools>.gc-emoji-combined>.gc-quick-emoji-bar::-webkit-scrollbar{display:none!important}

/* v0.4.72: center the plus glyph exactly and restore the warm beige/brown
   colors inside the combined emoji toolbar (without affecting other buttons). */
#geomchat-room .geomchat-tools>.gc-emoji-combined>button.gc-emoji-more-fixed{
 display:grid!important;place-items:center!important;text-align:center!important;
 color:#7f6b51!important;-webkit-text-fill-color:#7f6b51!important;
 background:#eee4d3!important;background-color:#eee4d3!important;
 border:0!important;padding:0!important;line-height:1!important;
 align-self:center!important;justify-self:start!important;box-sizing:border-box!important;
 transform:none!important;vertical-align:middle!important;
}
#geomchat-room .geomchat-tools>.gc-emoji-combined>button.gc-emoji-more-fixed svg{
 display:block!important;width:25px!important;height:25px!important;
 stroke:#7f6b51!important;fill:none!important;flex-shrink:0!important;
 margin:0!important;padding:0!important;transform:none!important;
}

/* v0.4.76: independent quick-answer modal */
.geomchat-quick-popup-panel{max-width:min(92vw,500px);max-height:85dvh;overflow:auto;display:flex;flex-direction:column;gap:14px;text-align:center}
.geomchat-quick-popup-panel>strong{font-size:1.12em;color:#594b37}
.geomchat-quick-popup-image{max-width:100%;max-height:58dvh;object-fit:contain;border-radius:12px}
.geomchat-quick-popup-panel>p{text-align:left;line-height:1.65;margin:0}

/* Quick popup transcript action: reopening never creates a new message. */
.gc-quick-popup-reopen{border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer;white-space:normal;line-height:1.5;text-decoration:underline;text-decoration-color:rgba(100,80,80,.25);text-underline-offset:3px}

/* v0.4.81: quick-answer central display is an in-chat full-width notice. */
#geomchat-messages>.geomchat-bubble.quick_popup,
.geomchat-messages>.geomchat-bubble.quick_popup{
  display:block!important;align-self:stretch!important;width:100%!important;
  max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
  padding:14px!important;border:1px solid #e4d0a8!important;
  background:#fffcf6!important;border-radius:14px!important;color:#58462c!important;
}
.geomchat-quick-inline-card{width:100%;max-width:100%;box-sizing:border-box;
  text-align:center;padding:8px 4px 12px;display:flex;flex-direction:column;
  align-items:center;gap:12px;}
.geomchat-quick-inline-title{font-size:clamp(17px,3.6vw,23px);font-weight:800;color:#9d7a3d;line-height:1.5;overflow-wrap:anywhere;}
.geomchat-quick-inline-ornament{color:#b6965e;font-size:15px;letter-spacing:.16em;}
.geomchat-quick-inline-image{display:block;max-width:100%!important;
  max-height:none!important;width:auto;height:auto;object-fit:contain;
  border-radius:10px;cursor:zoom-in;}
.geomchat-quick-inline-body{font-size:14px;color:#594c3d;line-height:1.7;
  white-space:pre-wrap;overflow-wrap:anywhere;text-align:center;margin:0;}
@media(max-width:650px){.geomchat-messages>.geomchat-bubble.quick_popup{padding:10px!important}
 .geomchat-quick-inline-card{gap:9px;padding:6px 1px 8px}}

/* v0.4.82: the original pre-consultation notice must never take on
   the simplified quick-popup styling, including for legacy records. */
.geomchat-messages>.geomchat-bubble.quick_popup.geomchat-original-consultation-notice{
 background:#fffcf6!important;padding:15px!important;
}
.geomchat-messages>.geomchat-bubble.geomchat-original-consultation-notice .geomchat-pre-card{
 width:100%;max-width:540px;margin-inline:auto;
}

/* v0.4.84: the special chat-fee quick answer is a full-width notice, not a bubble. */
.geomchat-messages>.geomchat-bubble.geomchat-promo-quick{width:100%!important;max-width:100%!important;
  background:#fffcf6!important;border:1px solid #e4d0a8!important;border-radius:14px!important;
  box-sizing:border-box!important;padding:15px!important;margin:12px 0!important;}
.geomchat-messages>.geomchat-bubble.geomchat-promo-quick .geomchat-promo-quick-card{max-width:540px;margin:auto;}

/* v0.4.85: same compact homepage chat-price notice on desktop and mobile. */
.gc-compact-promo-card{box-sizing:border-box!important;width:100%!important;max-width:480px!important;
 margin:0 auto!important;padding:4px 0!important;display:flex;flex-direction:column;gap:8px;
 background:transparent!important;color:#514639!important;font-family:inherit!important;text-align:center!important;}
.gc-compact-promo-card h3{font-size:clamp(17px,2.8vw,20px)!important;font-weight:800!important;line-height:1.35!important;
 color:#96753d!important;margin:0!important;padding:0 0 8px!important;border:0!important;border-bottom:1px solid #e7d7b8!important;}
.gc-compact-promo-card .gc-compact-promo-intro{font-size:13px!important;font-weight:650!important;
 line-height:1.4!important;margin:0!important;color:#6e5b41!important;}
.gc-compact-promo-card .gc-compact-promo-prices{box-sizing:border-box;background:#f4ead7;border-radius:10px;
 padding:4px 13px;margin:0!important;}
.gc-compact-promo-card .gc-compact-promo-prices>div{display:flex;justify-content:space-between;align-items:center;
 padding:7px 0;border-bottom:1px solid #e5d7bf;font-size:14px;line-height:1.3;gap:12px;text-align:left;}
.gc-compact-promo-card .gc-compact-promo-prices>div:last-child{border:0}
.gc-compact-promo-card .gc-compact-promo-prices strong{font-size:15px;color:#95753c;white-space:nowrap}
.gc-compact-promo-card .gc-compact-promo-note{font-size:12px!important;line-height:1.45!important;
 color:#665a4d!important;margin:2px 0 0!important;white-space:normal;overflow-wrap:anywhere;}
@media(max-width:480px){.gc-compact-promo-card{gap:7px}.gc-compact-promo-card .gc-compact-promo-prices>div{padding:6px 0}}

.geomchat-messages>.geomchat-bubble.geomchat-promo-quick{padding:11px 12px!important;background:#fffcf6!important;}

/* Notification sound control: scoped to the two GeomChat headers */
.gc-sound-toggle{appearance:none;border:1px solid #e0d1b8;background:#f7f0e5;color:#8f7648;width:38px;height:38px;border-radius:12px;display:inline-flex;justify-content:center;align-items:center;cursor:pointer;flex:none;padding:8px;vertical-align:middle}
.gc-sound-toggle[aria-pressed="false"]{color:#827e77;background:#f3f2ef;border-color:#dedbd5}
.gc-sound-toggle svg{width:100%;height:100%;display:block}
.geomchat-mobile-header .gc-sound-toggle{margin-left:auto;margin-right:6px}
.geomchat-title-row .gc-sound-toggle,.geomchat-event-title-row .gc-sound-toggle{margin-left:8px}
.gc-admin-soundbar{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:6px 8px;background:#fcfaf6;border:1px solid #e7dac6;border-radius:10px;margin-bottom:8px}
.gc-admin-soundbar span{font-size:13px;color:#756754}

/* v0.4.90: compact desktop client card; do not modify administrator layout. */
@media(min-width:651px){
  .geomchat-section .geomchat-shell{max-width:590px!important}
  .geomchat-section .geomchat-app{max-width:590px!important}
}
/* Mobile fullscreen chat must never inherit a horizontally scrolled page. */
@media(max-width:650px){
  html:has(body.geomchat-mobile-open){overflow-x:hidden!important}
  body.geomchat-mobile-open{overflow-x:hidden!important;width:100%!important;max-width:100%!important;margin:0!important}
  body.geomchat-mobile-open>.geomchat-section{
    position:fixed!important;inset:0!important;left:0!important;right:0!important;
    width:100vw!important;max-width:100vw!important;min-width:0!important;
    height:100dvh!important;overflow:hidden!important;box-sizing:border-box!important;
    transform:none!important;margin:0!important;padding:0!important;
  }
  body.geomchat-mobile-open>.geomchat-section .geomchat-shell,
  body.geomchat-mobile-open>.geomchat-section .geomchat-app,
  body.geomchat-mobile-open>.geomchat-section #geomchat-room{
    width:100%!important;max-width:100%!important;min-width:0!important;
    box-sizing:border-box!important;overflow-x:hidden!important
  }
  body.geomchat-mobile-open #geomchat-send,
  body.geomchat-mobile-open .geomchat-tools{width:100%!important;max-width:100%!important;min-width:0!important}
}
/* v0.4.91: mobile chat has no redundant '문의 응대 중' strip. Preserve paid timer. */
@media(max-width:650px){
 body.geomchat-mobile-open #geomchat-room-state{display:none!important}
 body.geomchat-mobile-open .geomchat-room-top:not(:has(#geomchat-timer:not([hidden]))){display:none!important}
 body.geomchat-mobile-open .geomchat-room-top{margin:0!important;padding:0!important;min-height:0!important}
 body.geomchat-mobile-open .geomchat-room-meta{margin:0!important;padding:0!important}
 body.geomchat-mobile-open .geomchat-messages{flex:1 1 auto!important;min-height:0!important;height:auto!important}
}

/* v0.4.98 settlement notice in chat flow; no speech bubble. */
.geomchat-payment-notice-wrap{width:100%;display:flex;flex-direction:column;align-items:center;gap:5px;margin:14px 0;box-sizing:border-box}
.geomchat-payment-notice-card{max-width:100%;box-sizing:border-box;text-align:center;background:#fffaf0;color:#947239;border:1px solid #e2d2af;padding:16px 22px;border-radius:15px;font-size:15px;font-weight:800}
.geomchat-payment-notice-wrap small{color:#918475;font-size:11px}
.geomchat-end-line>div{white-space:nowrap;max-width:none!important;flex:0 0 auto!important}
.geomchat-end-line{min-width:0;overflow:hidden}
