/* Shared public design system. Clinical status colors and admin controls retain their meaning. */
.public-refresh, .storefront-header, .storefront-footer { --page-space: clamp(22px, 4vw, 72px); }
.public-refresh { background: #faf8f2; }
.storefront-footer .footer-identity { display: block; }
.storefront-footer .social-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.storefront-footer .social-links a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid #78978d; color: #ead1a0; }
.social-links svg { width: 22px; height: 22px; fill: currentColor; }
.storefront-footer .social-links a:hover { background: #16564f; color: #fffdf5; }
.social-links a:focus-visible { outline: 3px solid #e5c383; outline-offset: 3px; }
.us-branch { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 40px; align-items: center; padding: 48px var(--page-space); border-top: 1px solid #d8dfd3; background: #faf8f2; }
.us-branch h2 { color: #063f3b; font: 500 clamp(32px,3.6vw,50px)/1.15 'Playfair Display',serif; margin: 0 0 22px; }
.us-branch address { font-style: normal; color: #53645a; margin-bottom: 22px; }
.us-branch iframe { width: 100%; height: 340px; border: 0; background: #e9ede3; }
@media (max-width: 800px) { .us-branch { grid-template-columns: minmax(0,1fr); gap: 24px; padding-block: 34px; } }
.guide-editorial-image { margin: 28px 0 0; }
.guide-editorial-image img { display: block; width: 100%; height: auto; }
.guide-editorial-image figcaption { padding: 12px 0; border-bottom: 1px solid #b8c9bb; font: 13px/1.6 'DM Sans',sans-serif; color: #53645a; }
.health-tests .guide-editorial-image figcaption { color: #ead1a0; border-color: #47736e; }
.public-refresh .guide-protection { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 32px; align-items: stretch; }
.public-refresh .guide-illustrated-heading { display: block; max-width: none; margin: 0; }
.guide-illustrated-heading .guide-editorial-image { margin: 0; }
.guide-image-overlay { position: relative; isolation: isolate; display: grid; min-height: 520px; overflow: hidden; background: #063f3b; }
.guide-image-overlay > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -2; }
.guide-image-overlay::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #022e2bf5 0%, #022e2bb3 35%, #022e2b00 75%); z-index: -1; }
.guide-image-heading { align-self: end; padding: 28px; }
.public-refresh .guide-image-heading .eyebrow { color: #ead1a0; margin-bottom: 12px; }
.public-refresh .guide-image-heading h2 { color: #fffdf5; font-size: clamp(30px,3vw,44px); line-height: 1.14; margin: 0; }
.public-refresh .guide-protection > .guide-illustrated-heading > p { color: #63736f; font: 15px/1.8 'DM Sans',sans-serif; margin-top: 16px; }
.guide-protection .health-action-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: 1fr; gap: 16px; background: transparent; border: 0; }
.guide-protection .health-action-grid article { padding: 20px 24px; background: #e9ede3; border: 1px solid #d8dfd3; }
.guide-protection .health-action-grid h3 { font-size: 24px; line-height: 1.2; margin-block: 10px; }
.guide-protection .health-action-grid p { font-size: 14px; margin-top: 0; }
@media (min-width: 1200px) {
    .guide-protection .health-action-grid h3 { font-size: 28px; margin-top: 20px; }
    .guide-protection .health-action-grid p { font-size: 18px; margin-top: 30px; }
}
/* Give the 2x2 cards the full row before the desktop columns become cramped. */
@media (max-width: 1199px) {
    .public-refresh .guide-protection { grid-template-columns: minmax(0,1fr); }
    .guide-protection .health-action-grid { grid-auto-rows: auto; }
}
@media (max-width: 980px) { .guide-image-overlay { min-height: 460px; } }
@media (max-width: 600px) { .guide-image-overlay { min-height: 400px; } .guide-image-heading { padding: 24px; } .guide-protection .health-action-grid { grid-template-columns: minmax(0,1fr); } .guide-protection .health-action-grid article { aspect-ratio: auto; } }
.storefront-announcement { height: auto; padding: 7px 16px; font-size: 10px; letter-spacing: .12em; }
.site-header.storefront-header { height: 90px; padding-inline: var(--page-space); background: #faf8f2; }
.storefront-header .logo img { width: 185px; height: 74px; }
.storefront-header .desktop-nav { gap: 26px; font-size: 12px; }
.storefront-header .cart-trigger { padding: 10px 20px; font-size: 12px; }
.site-header.storefront-header .cart-icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; color: #063f3b; }
.storefront-header .cart-icon:hover { background: #e9ede3; }
.storefront-mobile-menu { inset: 0; padding-top: 145px; overflow-y: auto; }
.storefront-mobile-menu > div { padding-top: 24px; }
.storefront-header .menu-trigger:focus-visible { outline: 3px solid #b48634; outline-offset: 4px; }
.legal-document .legal-section-nav { top: 110px; max-height: calc(100dvh - 130px); }
.legal-document > header { scroll-margin-top: 110px; }
@media (max-width: 600px) { .storefront-mobile-menu { padding-top: 125px; } }
@media (min-width: 981px) { .storefront-mobile-menu { display: none; } }
@media (prefers-reduced-motion: reduce) { .storefront-mobile-menu { animation: none; } .storefront-header .menu-trigger span { transition: none; } }
@media print { .storefront-header, .storefront-announcement, .storefront-mobile-menu { display: none; } }
.public-refresh .eyebrow { font-size: 11px; letter-spacing: .18em; color: #806129; }
.public-refresh .eyebrow.light { color: #ead1a0; }
.public-refresh .btn { border-radius: 0; min-height: 46px; padding: 15px 23px; font-size: 12px; letter-spacing: .1em; line-height: 1.5; }
.public-refresh .btn-gold { background: #e5c383; color: #17332f; }
.public-refresh .btn-gold:hover { background: #f1d7a9; }
.public-refresh :is(h1,h2,h3) { text-wrap: pretty; }
.public-refresh :is(input,select,textarea) { border-radius: 0; }
.public-refresh :is(a,button,input,select,textarea,summary):focus-visible,
.storefront-header :is(a,summary):focus-visible { outline: 3px solid #b48634; outline-offset: 4px; }
.public-refresh section[id] { scroll-margin-top: 110px; }
.public-refresh :is(.shop-hero,.contact-page-hero) { padding: 48px var(--page-space); }
.public-refresh :is(.shop-hero,.contact-page-hero,.center-hero,.health-guide-hero) h1 { font-size: clamp(44px,5.5vw,76px); line-height: 1.08; letter-spacing: -.03em; }
.public-refresh :is(.shop-hero,.contact-page-hero,.center-hero,.health-guide-hero) h1 em { color: #ead1a0; }
.public-refresh :is(.shop-hero,.contact-page-hero) > p:last-child,
.public-refresh :is(.center-hero,.health-guide-hero) > div > p:not(.eyebrow) { font: 15px/1.8 'DM Sans',sans-serif; max-width: 610px; }
.public-refresh .shop-browser { padding: 40px var(--page-space) 56px; gap: 32px; grid-template-columns: 200px minmax(0,1fr); background: #faf8f2; }
.public-refresh .catalog-filters { border-radius: 0; padding: 20px; background: #e9ede3; }
.public-refresh .products { gap: 24px; }
.public-refresh .product { padding: 0 0 16px; /*background: transparent;*/ border: 0; border-radius: 0; box-shadow: none; }
.public-refresh .product-art { border-radius: 0; }
.public-refresh .add-cart { border-radius: 0; min-height: 44px; font-size: 12px; letter-spacing: .08em; }
.public-refresh .shop-search input { min-width: 0; width: 100%; }
.public-refresh .breadcrumbs { padding: 24px var(--page-space); flex-wrap: wrap; font-size: 13px; }
.public-refresh .pdp-main { padding: 16px var(--page-space) 48px; gap: 4vw; }
.public-refresh .pdp-art { min-height: 440px; }
.public-refresh .pdp-art > img { width: 100%; height: 500px; }
.public-refresh .pdp-copy h1 { font-size: clamp(36px,4vw,58px); line-height: 1.12; }
.public-refresh .pdp-copy > p { font-size: 15px; }
.public-refresh .pdp-pagination { padding: 28px var(--page-space); background: #e9ede3; }
.public-refresh .pdp-pagination small { font-size: 11px; }
.public-refresh :is(.center-hero,.health-guide-hero) { min-height: 480px; padding: 56px var(--page-space); }
.public-refresh :is(.center-intro,.center-experience,.center-visit,.center-location,.health-guide-intro,.health-guide-section,.health-tests,.health-medication,.health-guide-sources) { padding: 48px var(--page-space); }
.public-refresh :is(.center-intro,.health-guide-intro) { gap: 4vw; }
.public-refresh :is(.center-intro,.center-experience,.center-location,.health-guide-intro,.health-guide-section,.health-tests,.health-medication) h2 { font-size: clamp(32px,3.6vw,50px); line-height: 1.15; }
.public-refresh .center-intro > div:last-child,
.public-refresh .center-experience > header > p:last-child { font: 15px/1.8 'DM Sans',sans-serif; }
.public-refresh .center-services { padding: 0 var(--page-space) 48px; background: #faf8f2; }
.public-refresh .center-services article { padding: 28px; background: #e9ede3; }
.public-refresh .center-services p { min-height: 0; }
.public-refresh .center-services a { font-size: 12px; }
.public-refresh .center-experience { background: #f1eee3; }
.public-refresh .center-experience > header { margin-bottom: 30px; column-gap: 4vw; }
.public-refresh .center-experience-grid { gap: 0; }
.public-refresh .center-experience-grid article { background: #faf8f2; }
.public-refresh .center-experience-grid article:nth-child(even) { background: #e9ede3; }
.public-refresh .center-experience-grid img { min-height: 400px; }
.public-refresh .center-experience-grid article > div { padding: 32px; }
.public-refresh .center-location { border-top: 1px solid #d8dfd3; background: #e9ede3; }
.health-guide-hero-photo { display: none; }
@media (min-width: 801px) {
 .public-refresh .health-guide-hero { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr); padding: 0; min-height: 0; background: #063f3b; }
 .public-refresh .health-guide-hero > div { padding: 40px var(--page-space); }
 .public-refresh .health-guide-hero h1 { font-size: clamp(38px, 3.8vw, 64px); }
 .public-refresh .health-guide-hero-photo { display: block; width: 100%; height: auto; }
}
@media (min-width: 801px) and (max-width: 1199px) {
 .public-refresh .health-guide-hero > div { padding: 32px 24px; }
 .public-refresh .health-guide-hero h1 { font-size: clamp(28px, 3.125vw, 37.5px); line-height: 1.16; letter-spacing: -.02em; text-wrap: balance; }
}
.public-refresh .health-guide-nav { padding-inline: var(--page-space); background: #063f3b; color: #fffdf5; }
.public-refresh .health-guide-nav a { color: inherit; transition: background-color .18s ease, box-shadow .18s ease; }
.public-refresh .health-guide-nav a span { color: #ead1a0; }
.public-refresh .health-guide-nav a:hover,
.public-refresh .health-guide-nav a:focus-visible { background: #16564f; box-shadow: inset 0 -3px #e5c383; }
.public-refresh .health-guide-nav a:focus-visible { outline: 2px solid #e5c383; outline-offset: -4px; }
.public-refresh .health-guide-nav a[aria-current="location"] { background: #e5c383; color: #063f3b; box-shadow: inset 0 -3px #fffdf5; }
.public-refresh .health-guide-nav a[aria-current="location"] span { color: #063f3b; }
.public-refresh .health-guide-nav { display: block; position: sticky; top: 90px; z-index: 60; border-top: 1px solid #47736e; box-shadow: 0 8px 24px #063f3b15; }
.health-guide-nav-toggle { display: none; }
.public-refresh .health-guide-nav-toggle > span { color: inherit; font: inherit; }
.health-guide-nav-links { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
.public-refresh .health-guide-nav-links a { align-items: center; min-height: 64px; padding: 16px 20px; }
.health-guide-page.public-refresh section[id] { scroll-margin-top: 185px; }
@media (max-width: 600px) {
 .public-refresh .health-guide-nav { top: 80px; }
 .health-guide-nav.is-ready .health-guide-nav-toggle { display: flex; width: 100%; min-height: 54px; align-items: center; justify-content: space-between; padding: 0; border: 0; color: #fffdf5; background: transparent; font: 600 13px 'DM Sans',sans-serif; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
 .health-guide-nav-icon { position: relative; width: 16px; height: 16px; }
 .health-guide-nav-icon::before, .health-guide-nav-icon::after { position: absolute; top: 50%; left: 50%; width: 14px; height: 2px; background: #ead1a0; content: ''; transform: translate(-50%,-50%); transition: transform .3s ease; }
 .health-guide-nav-icon::after { transform: translate(-50%,-50%) rotate(90deg); }
 .health-guide-nav.is-expanded .health-guide-nav-icon::after { transform: translate(-50%,-50%) rotate(0deg); }
 .health-guide-nav.is-ready .health-guide-nav-panel { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .45s cubic-bezier(.22,1,.36,1), opacity .25s ease; }
 .health-guide-nav.is-ready.is-expanded .health-guide-nav-panel { grid-template-rows: 1fr; opacity: 1; }
 .health-guide-nav-links { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
 .public-refresh .health-guide-nav-links a { min-height: 48px; padding: 0; border: 0; border-top: 1px solid #47736e; }
 .health-guide-page.public-refresh section[id] { scroll-margin-top: 150px; }
}
@media (prefers-reduced-motion: reduce) {
 .health-guide-nav.is-ready .health-guide-nav-panel, .health-guide-nav-icon::before, .health-guide-nav-icon::after { transition: none; }
}
@media (prefers-reduced-motion: reduce) { .public-refresh .health-guide-nav a { transition: none; } }
.public-refresh .contact-page-content { padding: 40px var(--page-space) 56px; gap: 28px; background: #faf8f2; }
.public-refresh .contact-form-panel { padding: 30px; }
.public-refresh .contact-form-grid label { font-size: 12px; }
.public-refresh .contact-details { box-shadow: none; width: auto; }
.public-refresh.commerce-page { max-width: 1200px; padding: 40px var(--page-space) 56px; }
.public-refresh.commerce-page h1 { margin-top: 0; color: #063f3b; }
.public-refresh .commerce-order { border-radius: 0; background: #fff; }
.public-refresh.commerce-page .form-grid { padding: 24px; border: 1px solid #d8dfd3; background: #fff; }
.public-refresh.legal-document { background: #faf8f2; padding-top: 40px; }
.public-refresh .legal-section-nav { border-radius: 0; background: #e9ede3; }
.public-refresh.intake-page { background: #faf8f2; }
.public-refresh .intake-card { border-radius: 0; box-shadow: none; }
.storefront-footer { padding: 40px var(--page-space); border-top: 1px solid #b8c9bb; }
.storefront-footer .footer-identity address b { font-size: 11px; letter-spacing: .14em; }
@media (max-width: 1050px) {
 .public-refresh .center-experience-grid img { min-height: 0; }
}
@media (max-width: 800px) {
 .public-refresh .shop-browser { grid-template-columns: minmax(0,1fr); gap: 24px; }
 .public-refresh .shop-facets details > summary { min-height: 80px; padding: 16px; background: #e9ede3; box-shadow: none; }
 .public-refresh .shop-facet-summary-copy > small { font-size: 11px; }
 .public-refresh .contact-page-content { grid-template-columns: minmax(0,1fr); }
 .public-refresh .pdp-main { grid-template-columns: minmax(0,1fr); gap: 28px; }
 .public-refresh .pdp-art { min-height: 0; }
 .public-refresh .pdp-art > img { height: auto; max-height: 500px; }
}
@keyframes menu-reveal { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
}
@media (max-width: 600px) {
 .site-header.storefront-header { height: 80px; }
 .storefront-header .logo img { width: 155px; height: 65px; }
 .storefront-header .header-actions { gap: 4px; }
 .storefront-header .cart-trigger { padding: 10px; }
 .storefront-announcement { font-size: 9px; letter-spacing: .04em; }
 .public-refresh :is(.center-hero,.health-guide-hero) { min-height: 420px; padding-block: 36px; }
 .public-refresh :is(.shop-hero,.contact-page-hero,.center-intro,.center-experience,.center-visit,.center-location,.health-guide-intro,.health-guide-section,.health-tests,.health-medication,.health-guide-sources) { padding-block: 34px; }
 .public-refresh .center-experience-grid article > div { padding: 24px; }
 .public-refresh .contact-form-panel { padding: 22px; }
 .public-refresh.commerce-page .form-grid { padding: 18px; }
 .public-refresh .products { gap: 16px; }
}
.admin-location-row { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 0; border-bottom:1px solid #d8dfd3; }
.admin-location-row p { margin:6px 0 0; }

/* Compact actions retain native button semantics and keyboard-visible tooltips. */
.admin-portal button.admin-icon-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 9px;
    gap: 0;
    border: 1px solid #b8c8c0;
    border-radius: 6px;
    cursor: pointer;
}
.admin-icon-button svg { width: 20px; height: 20px; flex: none; }
.admin-portal button.admin-icon-button:focus-visible { outline: 3px solid #b68a35; outline-offset: 3px; }
.admin-portal button.admin-icon-button:disabled { opacity: .45; cursor: not-allowed; }
.admin-icon-button::after {
    content: attr(aria-label);
    position: absolute;
    z-index: 30;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    max-width: 220px;
    white-space: normal;
    padding: 7px 10px;
    border-radius: 5px;
    background: #063f3b;
    color: white;
    font: 500 12px/1.4 Inter, sans-serif;
    text-transform: none;
    letter-spacing: normal;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
}
.admin-icon-button:hover::after, .admin-icon-button:focus-visible::after { opacity: 1; visibility: visible; }
@media (pointer: coarse) { .admin-portal button.admin-icon-button { width: 44px; min-width: 44px; height: 44px; flex-basis: 44px; } }

/* Storefront photography keeps the complete signage and entrance visible. */
.center-callout.center-callout-visual { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-items: center; gap: 0; padding: 0; }
.center-callout-visual .center-callout-image { display: block; min-width: 0; }
.center-callout-visual .center-callout-image img { display: block; width: 100%; height: auto; }
.center-callout-visual .center-callout-copy { min-width: 0; padding: 32px clamp(24px,3vw,48px); }
.center-callout-visual .center-callout-copy h2 { font-size: clamp(28px,3vw,44px); }
.center-callout-visual .center-callout-copy .btn { margin-top: 20px; white-space: normal; }
@media (max-width: 1000px) {
    .center-callout.center-callout-visual { grid-template-columns: minmax(0,1fr); }
    .center-callout-visual .center-callout-copy { padding: 28px var(--page-space); }
}
.public-refresh .center-hero {
    min-height: 560px;
    background: linear-gradient(90deg,rgba(2,35,33,.94) 0%,rgba(2,46,43,.78) 36%,rgba(2,46,43,.12) 75%), url('/images/wellness-center/storefront.jpeg') center top / cover;
}
.public-refresh .contact-page-hero {
    min-height: 480px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: linear-gradient(90deg,rgba(2,35,33,.96) 0%,rgba(2,46,43,.8) 38%,rgba(2,46,43,.12) 85%), url('/images/wellness-center/wellness-center-reception.png') center / cover;
}
@media (max-width: 700px) {
    .public-refresh .center-hero {
        min-height: 640px;
        align-items: flex-end;
        background: linear-gradient(180deg,transparent 100px,#022e2b 260px), url('/images/wellness-center/storefront.jpeg') center top / 100% auto no-repeat #022e2b;
    }
    .public-refresh .contact-page-hero {
        min-height: 520px;
        justify-content: flex-end;
        background: linear-gradient(0deg,rgba(2,35,33,.98) 0%,rgba(2,46,43,.86) 45%,rgba(2,46,43,.12) 100%), url('/images/wellness-center/wellness-center-reception.png') 62% center / cover;
    }
}

.public-refresh .center-visit-visual { grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 40px; row-gap: 24px; align-items: start; }
.center-visit-visual .center-visit-heading { position: relative; display: grid; min-height: 390px; overflow: hidden; isolation: isolate; }
.center-visit-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -2; }
.center-visit-visual .center-visit-heading::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(2,35,33,.05) 20%,rgba(2,35,33,.55) 52%,rgba(2,35,33,.96) 100%); z-index: -1; }
.center-visit-caption { align-self: end; padding: clamp(22px,3vw,40px); }
.center-visit-caption .eyebrow { color: #ead1a0; }
.center-visit-caption h2 { font-size: clamp(34px,3.5vw,52px); line-height: 1.1; }
.center-visit-visual .center-disclaimer { margin: 24px 0 0; }
.center-visit-details { min-width: 0; }
@media (min-width: 901px) {
    .center-visit-visual .center-visit-heading { min-height: 500px; }
}
@media (max-width: 900px) {
    .public-refresh .center-visit-visual { grid-template-columns: minmax(0,1fr); }
    .center-visit-visual .center-disclaimer { grid-column: 1; }
}
.recaptcha-challenge { margin: 20px 0 12px; }
.recaptcha-notice { max-width: 460px; font-size: 12px; line-height: 1.6; color: #53645a; }
.recaptcha-notice a { text-decoration: underline; }

.chat-launcher { position: fixed; right: 22px; bottom: 90px; z-index: 90; display: inline-flex; align-items: center; gap: 10px; border: 1px solid #d9bd79; border-radius: 32px; padding: 6px 18px 6px 6px; background: #063f3b; color: #fff; box-shadow: 0 5px 20px #063f3b30; cursor: pointer; font: 600 14px 'DM Sans',sans-serif; transition: background .18s, box-shadow .18s; }
.chat-launcher:hover { background: #0b514b; box-shadow: 0 7px 24px #063f3b45; }
.vira-avatar { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; background: #edcf8d; color: #063f3b; }
.vira-icon { display: block; width: 30px; height: 30px; }
.vira-identity { display: flex; align-items: center; gap: 11px; }
@media(prefers-reduced-motion:reduce) { .chat-launcher { transition: none; } }
.chat-panel { position: fixed; right: 22px; bottom: 156px; z-index: 91; width: min(390px,calc(100% - 32px)); max-height: min(680px,calc(100dvh - 170px)); display: flex; flex-direction: column; background: #fffdf8; color: #173c37; border: 1px solid #b6c9bf; border-radius: 12px; box-shadow: 0 12px 45px #0003; overflow: hidden; font: 14px/1.6 'DM Sans',sans-serif; }
.chat-panel header { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; background: #063f3b; color: white; }
.chat-panel header small { display: block; color: #ead1a0; }
.chat-panel header button { width: 40px; height: 40px; border: 1px solid #8baba2; background: transparent; color: white; font-size: 26px; cursor: pointer; }
.chat-body { padding: 18px; overflow-y: auto; }
.chat-body a { text-decoration: underline; }
.chat-body nav { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 18px; }
.chat-body label { display: block; }
.chat-body textarea { display: block; width: 100%; box-sizing: border-box; margin: 8px 0; border: 1px solid #8eaaa0; border-radius: 6px; padding: 10px; font: inherit; }
.chat-message { padding: 10px 12px; margin-bottom: 12px; border-radius: 8px; background: #eaf0e9; overflow-wrap: anywhere; }
.chat-message.user { background: #f3ebd8; }
.chat-message p { white-space: pre-wrap; margin: 4px 0 0; }
.chat-panel .btn { padding: 12px 18px; font-size: 12px; }
.chat-panel :focus-visible, .chat-launcher:focus-visible { outline: 3px solid #b68a35; outline-offset: 3px; }
@media(max-width:600px) { .chat-panel { right: 16px; bottom: 146px; } .chat-launcher { right:16px; bottom: 80px; } }
