/* Tricorn Olive AI 1.0.0 — scoped to its own interface. */
#tb-olive-ui,#tb-olive-ui *,#tb-olive-banner,#tb-olive-banner *{box-sizing:border-box}
#tb-olive-dialog[hidden]{display:none!important}
body.tricorn-olive-live #olive26-float,body.tricorn-olive-live #olive26-overlay{display:none!important}
#tb-olive-ui{font:15px/1.65 Arial,Helvetica,sans-serif;color:#193137}
#tb-olive-ui button,#tb-olive-banner button{font-family:Arial,Helvetica,sans-serif;cursor:pointer}
#tb-olive-ui a,#tb-olive-banner a{text-decoration:none!important}
#tb-olive-ui :is(button,a,input):focus-visible,#tb-olive-banner :is(button,a):focus-visible{outline:3px solid #d7a06e;outline-offset:3px}
#tb-olive-fab{position:fixed;z-index:2147482000;right:clamp(12px,2vw,32px);bottom:calc(74px + env(safe-area-inset-bottom));border:2px solid #fff;border-radius:999px;display:flex;align-items:center;gap:11px;padding:8px 17px 8px 8px;background:#193137;color:#fff;box-shadow:0 8px 25px #0c1e244d;font:700 14px/1.3 Arial,Helvetica,sans-serif}
#tb-olive-fab:hover{background:#2b5054}
#tb-olive-fab .tb-olive-fab-o{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#f6f2e9;color:#a95636;font:italic 26px/1 Georgia,serif}
#tb-olive-fab small{display:block;color:#e1ebe5;font-size:11px;font-weight:400;margin-top:2px}
#tb-olive-dialog{position:fixed;z-index:2147483000;inset:0;width:100vw;height:100vh;height:100dvh;display:flex;flex-direction:column;background:#f6f2e9;color:#193137;box-shadow:0 0 0 100vmax rgba(20,40,44,.2)}
#tb-olive-dialog .tb-olive-topbar{flex:none;min-height:76px;background:#193137;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px clamp(17px,4vw,70px)}
#tb-olive-dialog .tb-olive-brand{display:flex;align-items:center;gap:13px;min-width:0}
#tb-olive-dialog .tb-olive-avatar{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:50%;color:#a95636;background:#f6f2e9;font:italic 31px/1 Georgia,serif}
#tb-olive-dialog .tb-olive-brand small{display:block;font-size:10px;letter-spacing:.12em;font-weight:700;color:#e5b599}
#tb-olive-dialog .tb-olive-brand strong{display:block;font:400 28px/1.22 Georgia,serif;color:#fff}
#tb-olive-dialog .tb-olive-top-actions{display:flex;align-items:center;gap:15px}
#tb-olive-dialog .tb-olive-top-actions a{color:#fff!important;border:1px solid #d1b19b;border-radius:6px;font-size:13px;font-weight:700;padding:10px 14px}
#tb-olive-dialog .tb-olive-top-actions a:hover{background:#ffffff1f}
#tb-olive-dialog .tb-olive-close{display:grid;place-items:center;flex:none;width:42px;height:42px;background:transparent;color:#fff;border:1px solid #c9bfb4;border-radius:50%;font:400 27px/1 Arial}
#tb-olive-dialog .tb-olive-close:hover{background:#ffffff22}
#tb-olive-dialog .tb-olive-panel{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:clamp(17px,3.4vw,50px);display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(17px,3.2vw,48px)}
#tb-olive-dialog .tb-olive-intro{max-width:580px;align-self:start;padding:clamp(8px,2vw,26px) 0}
#tb-olive-dialog .tb-olive-kicker{display:block;margin:0 0 15px;color:#a95636;font:bold 11px/1.5 Arial,sans-serif;letter-spacing:.14em}
#tb-olive-dialog .tb-olive-intro h2{margin:0 0 20px!important;color:#193137!important;font:400 clamp(34px,4vw,57px)/1.1 Georgia,serif!important;letter-spacing:-.035em!important;text-transform:none!important}
#tb-olive-dialog .tb-olive-intro p{margin:0 0 15px!important;color:#536568!important;font:15px/1.73 Arial,sans-serif!important}
#tb-olive-dialog .tb-olive-appointment{display:block;margin:26px 0 14px;border-radius:12px;background:#193137;padding:21px;color:#fff!important}
#tb-olive-dialog .tb-olive-appointment:hover{background:#2b5054}
#tb-olive-dialog .tb-olive-appointment strong{display:block;color:#fff!important;font:400 25px/1.25 Georgia,serif}
#tb-olive-dialog .tb-olive-appointment span{display:block;margin-top:7px;color:#e2eae4;font-size:13px}
#tb-olive-dialog .tb-olive-contact a{color:#9c4b2e!important;text-decoration:underline!important}
#tb-olive-dialog .tb-olive-chat{display:flex;flex-direction:column;min-width:0;min-height:450px;height:100%;overflow:hidden;background:#fffdfa;border:1px solid #ded4c7;border-radius:15px;box-shadow:0 13px 28px #22353610}
#tb-olive-dialog .tb-olive-chat-head{padding:19px 22px 15px;border-bottom:1px solid #e1d7c9;flex:none}
#tb-olive-dialog .tb-olive-chat-head h3{margin:0 0 4px!important;color:#193137!important;font:400 27px/1.2 Georgia,serif!important;text-transform:none!important}
#tb-olive-dialog .tb-olive-chat-head p{margin:0!important;color:#596a6c!important;font:13px/1.55 Arial,sans-serif!important}
#tb-olive-dialog .tb-olive-topics{flex:none;display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px;border-bottom:1px solid #e5ded6}
#tb-olive-dialog .tb-olive-topics button{padding:8px 11px;border:1px solid #dacbbb;border-radius:22px;background:#f6f2e9;color:#193137;font:700 12px/1.35 Arial,sans-serif}
#tb-olive-dialog .tb-olive-topics button:hover{background:#ebded0}
#tb-olive-dialog .tb-olive-topics button:disabled{opacity:.55;cursor:wait}
#tb-olive-dialog .tb-olive-messages{flex:1;min-height:100px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;align-items:flex-start;gap:11px;padding:19px}
#tb-olive-dialog .tb-olive-msg{max-width:87%;border-radius:13px;padding:12px 15px;font:14px/1.6 Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}
#tb-olive-dialog .tb-olive-msg-ai{background:#f1e9de;color:#193137;border-bottom-left-radius:3px}
#tb-olive-dialog .tb-olive-msg-user{background:#deebe6;color:#193137;align-self:flex-end;border-bottom-right-radius:3px}
#tb-olive-dialog .tb-olive-form{flex:none;display:flex;gap:8px;align-items:stretch;border-top:1px solid #e1d7c9;padding:13px 15px 6px;background:#fff}
#tb-olive-dialog .tb-olive-form input[type=text]:not(.tb-olive-honeypot){min-width:0;flex:1;border:1px solid #ccbdaf;border-radius:7px;background:#fffdfa;color:#193137;padding:12px 13px;font:14px/1.4 Arial,sans-serif;box-shadow:none;margin:0}
#tb-olive-dialog .tb-olive-form button{flex:none;padding:11px 16px;border-radius:7px;border:0;background:#a95636;color:#fff;font:700 13px/1.3 Arial,sans-serif}
#tb-olive-dialog .tb-olive-form button:hover{background:#853f2a}
#tb-olive-dialog .tb-olive-form button:disabled{background:#8a827c;cursor:wait}
#tb-olive-dialog .tb-olive-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
#tb-olive-dialog .tb-olive-privacy{flex:none;margin:0!important;background:#fff;padding:2px 16px 13px;color:#687579!important;font:11px/1.5 Arial,sans-serif!important}
#tb-olive-dialog .tb-olive-privacy a{color:#a95636!important;text-decoration:underline!important}
/* Shortcode introductory banner, optional */
#tb-olive-banner{box-sizing:border-box;max-width:none;position:relative;left:50%;transform:translateX(-50%);width:calc(100vw - clamp(24px,5.4vw,104px));margin:20px 0 32px;padding:clamp(23px,3vw,43px) clamp(22px,4.5vw,65px);border:5px solid #fff;border-radius:19px;background:#193137;color:#fff;box-shadow:0 12px 28px #14282c19;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(235px,.7fr);gap:20px 38px;align-items:center;font:15px/1.65 Arial,sans-serif}
#tb-olive-banner .tb-olive-eyebrow{display:flex;gap:11px;align-items:center;color:#e5b599;font:700 11px/1.5 Arial,sans-serif;letter-spacing:.12em}
#tb-olive-banner .tb-olive-o{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:#f6f2e9;color:#a95636;font:italic 25px/1 Georgia,serif;letter-spacing:0}
#tb-olive-banner h2{margin:12px 0 9px!important;color:#fff!important;font:400 clamp(27px,3vw,42px)/1.16 Georgia,serif!important;text-transform:none!important}
#tb-olive-banner p{margin:0!important;color:#e7eae4!important;font:15px/1.65 Arial,sans-serif!important}
#tb-olive-banner .tb-olive-banner-actions{display:flex;flex-direction:column;gap:10px}
#tb-olive-banner .tb-olive-banner-actions button,#tb-olive-banner .tb-olive-banner-actions a{display:flex;justify-content:center;align-items:center;width:100%;min-height:48px;padding:11px 14px;border:2px solid #a95636;border-radius:6px;background:#a95636;color:#fff!important;font:700 14px/1.4 Arial,sans-serif!important;text-align:center}
#tb-olive-banner .tb-olive-banner-actions a{border-color:#d5b9a6;background:transparent}
#tb-olive-banner .tb-olive-banner-actions button:hover{background:#84452f}
#tb-olive-banner .tb-olive-banner-actions a:hover{background:#ffffff23}
@media(max-width:900px){#tb-olive-dialog .tb-olive-panel{grid-template-columns:1fr}#tb-olive-dialog .tb-olive-intro{max-width:none;padding:0}#tb-olive-dialog .tb-olive-chat{height:480px}#tb-olive-banner{grid-template-columns:1fr}#tb-olive-banner .tb-olive-banner-actions{flex-direction:row}#tb-olive-banner .tb-olive-banner-actions>*{flex:1}}
@media(max-width:560px){#tb-olive-fab{right:12px;bottom:calc(72px + env(safe-area-inset-bottom))}#tb-olive-dialog .tb-olive-topbar{min-height:66px;padding:9px 13px}#tb-olive-dialog .tb-olive-avatar{width:39px;height:39px;font-size:26px}#tb-olive-dialog .tb-olive-brand small{font-size:9px}#tb-olive-dialog .tb-olive-brand strong{font-size:23px}#tb-olive-dialog .tb-olive-top-actions a{display:none}#tb-olive-dialog .tb-olive-close{width:39px;height:39px}#tb-olive-dialog .tb-olive-panel{padding:12px;gap:17px}#tb-olive-dialog .tb-olive-chat{order:-1;height:min(68dvh,590px);min-height:360px}#tb-olive-dialog .tb-olive-chat-head{padding:12px 14px}#tb-olive-dialog .tb-olive-chat-head h3{font-size:23px!important}#tb-olive-dialog .tb-olive-topics{padding:10px;gap:6px}#tb-olive-dialog .tb-olive-topics button{font-size:11px;padding:7px 9px}#tb-olive-dialog .tb-olive-messages{padding:12px}#tb-olive-dialog .tb-olive-msg{max-width:97%;padding:11px 12px}#tb-olive-dialog .tb-olive-form{padding:10px 10px 6px}#tb-olive-dialog .tb-olive-form button{padding:10px 11px}#tb-olive-dialog .tb-olive-privacy{padding:2px 11px 11px}#tb-olive-dialog .tb-olive-intro h2{font-size:33px!important}#tb-olive-dialog .tb-olive-intro p{font-size:13px!important}#tb-olive-banner{border-width:4px;padding:22px 17px}#tb-olive-banner h2{font-size:29px!important}#tb-olive-banner .tb-olive-banner-actions{flex-direction:column}}
@media(prefers-reduced-motion:reduce){#tb-olive-ui *{scroll-behavior:auto}}
/* Accessible label is visually hidden even if the active theme does not define WordPress's utility class. */
#tb-olive-dialog .tb-olive-form .screen-reader-text{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}
