:root {
    --hirad-ai-gold: #c9a45f;
    --hirad-ai-gold-light: #e4c98e;
    --hirad-ai-ink: #151411;
    --hirad-ai-panel: #171613;
    --hirad-ai-paper: #f5f0e7;
    --hirad-ai-muted: #a8a096;
    --hirad-ai-line: rgba(255, 255, 255, .1);
    --hirad-ai-shadow: 0 24px 80px rgba(0, 0, 0, .42);
    --hirad-ai-viewport-height: 100dvh;
}

body.hirad-ai-replace-contact .floating-contact {
    display: none !important;
}

/*
 * The quote basket is positioned by HIRAD Core from the legacy floating-contact
 * side, while the assistant can be positioned independently. If both resolve
 * to the same physical side, move only the basket to the free side. This keeps
 * the two primary floating actions reachable on desktop and mobile without
 * changing Core/theme settings.
 */
body.hirad-ai-position-left .hirad-quote-float--left {
    left: auto !important;
    right: max(18px, env(safe-area-inset-right)) !important;
}

body.hirad-ai-position-right .hirad-quote-float--right {
    right: auto !important;
    left: max(18px, env(safe-area-inset-left)) !important;
}

body.hirad-ai-chat-open .hirad-quote-float {
    opacity: 0;
    pointer-events: none;
}

.hirad-ai-shell,
.hirad-ai-shell * {
    box-sizing: border-box;
}

.hirad-ai-shell {
    position: fixed;
    z-index: 9990;
    inset-block-end: max(22px, env(safe-area-inset-bottom));
    font-family: inherit;
    font-size: 14px;
    line-height: 1.65;
    color: var(--hirad-ai-paper);
}

.hirad-ai-shell--right {
    right: max(22px, env(safe-area-inset-right));
    left: auto;
}

.hirad-ai-shell--left {
    left: max(22px, env(safe-area-inset-left));
    right: auto;
}

.hirad-ai-launcher {
    position: relative;
    display: inline-flex;
    min-block-size: 54px;
    max-inline-size: min(270px, calc(100vw - 28px));
    align-items: center;
    gap: 10px;
    padding: 8px 17px 8px 9px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: linear-gradient(135deg, #d5b573, #b8893d);
    box-shadow: 0 16px 45px rgba(0, 0, 0, .3), 0 0 0 1px rgba(201, 164, 95, .18);
    color: #17120b !important;
    text-decoration: none !important;
    transition: transform .28s ease, box-shadow .28s ease, opacity .2s ease;
    isolation: isolate;
}

.hirad-ai-shell--left .hirad-ai-launcher {
    padding: 8px 9px 8px 17px;
}

.hirad-ai-launcher:hover {
    color: #17120b !important;
    transform: translateY(-3px);
    box-shadow: 0 20px 55px rgba(0, 0, 0, .36), 0 0 0 3px rgba(201, 164, 95, .14);
}

.hirad-ai-launcher:focus-visible,
.hirad-ai-shell button:focus-visible,
.hirad-ai-shell textarea:focus-visible,
.hirad-ai-shell a:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

.hirad-ai-launcher__mark,
.hirad-ai-mark {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    inline-size: 38px;
    block-size: 38px;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 50%;
    background: #171512;
    color: var(--hirad-ai-gold-light);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 400;
    line-height: 1;
}

.hirad-ai-launcher b {
    min-inline-size: 0;
    overflow: hidden;
    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hirad-ai-launcher > i {
    position: absolute;
    z-index: -1;
    inset: -4px;
    border: 1px solid rgba(201, 164, 95, .44);
    border-radius: inherit;
    animation: hirad-ai-pulse 2.8s ease-out infinite;
}

@keyframes hirad-ai-pulse {
    0%, 35% { opacity: 0; transform: scale(.96); }
    45% { opacity: .8; }
    85%, 100% { opacity: 0; transform: scale(1.1); }
}

.hirad-ai-panel {
    position: absolute;
    display: flex;
    flex-direction: column;
    inset-block-end: 72px;
    inline-size: min(390px, calc(100vw - 36px));
    block-size: min(680px, max(360px, calc(var(--hirad-ai-viewport-height) - 116px)));
    max-block-size: calc(var(--hirad-ai-viewport-height) - 84px);
    overflow: hidden;
    border: 1px solid rgba(201, 164, 95, .34);
    border-radius: 24px;
    background:
        radial-gradient(circle at 90% 0%, rgba(201, 164, 95, .15), transparent 36%),
        var(--hirad-ai-panel);
    box-shadow: var(--hirad-ai-shadow);
    opacity: 0;
    transform: translateY(18px) scale(.97);
    transform-origin: bottom right;
    transition: opacity .25s ease, transform .3s cubic-bezier(.22, 1, .36, 1);
}

.hirad-ai-panel[hidden] {
    display: none !important;
}

.hirad-ai-shell--right .hirad-ai-panel {
    right: 0;
    left: auto;
    transform-origin: bottom right;
}

.hirad-ai-shell--left .hirad-ai-panel {
    left: 0;
    right: auto;
    transform-origin: bottom left;
}

.hirad-ai-shell.is-open .hirad-ai-panel {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.hirad-ai-shell.is-open .hirad-ai-launcher {
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px) scale(.94);
}

.hirad-ai-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-block-size: 78px;
    padding: 14px 15px;
    border-block-end: 1px solid var(--hirad-ai-line);
    background: rgba(12, 12, 11, .58);
    backdrop-filter: blur(18px);
}

.hirad-ai-mark {
    inline-size: 43px;
    block-size: 43px;
    border-radius: 14px;
}

.hirad-ai-heading {
    display: block;
    min-inline-size: 0;
}

.hirad-ai-heading strong,
.hirad-ai-heading small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hirad-ai-heading strong {
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}

.hirad-ai-heading small {
    margin-block-start: 2px;
    color: var(--hirad-ai-muted);
    font-size: 10.5px;
}

.hirad-ai-heading small i {
    display: inline-block;
    inline-size: 7px;
    block-size: 7px;
    margin-inline-end: 6px;
    border-radius: 50%;
    background: #69c98d;
    box-shadow: 0 0 0 4px rgba(105, 201, 141, .1);
}

.hirad-ai-close,
.hirad-ai-send {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    inline-size: 42px;
    block-size: 42px;
    min-inline-size: 42px;
    min-block-size: 42px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--hirad-ai-line);
    border-radius: 50%;
    background: rgba(255, 255, 255, .05);
    color: #fff;
    cursor: pointer;
}

.hirad-ai-close:hover {
    background: rgba(255, 255, 255, .11);
}

.hirad-ai-close span {
    font-size: 25px;
    font-weight: 300;
    line-height: 1;
}

.hirad-ai-messages {
    display: flex;
    min-block-size: 0;
    max-block-size: none;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 12px;
    overflow: auto;
    padding: 18px 15px 12px;
    overscroll-behavior: contain;
    scrollbar-color: rgba(201, 164, 95, .42) transparent;
    scrollbar-width: thin;
}

.hirad-ai-message {
    display: flex;
    max-inline-size: 89%;
    align-items: flex-end;
    gap: 7px;
}

.hirad-ai-message--assistant {
    align-self: flex-start;
}

.hirad-ai-message--visitor {
    align-self: flex-end;
}

.hirad-ai-message__avatar {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    inline-size: 25px;
    block-size: 25px;
    border: 1px solid rgba(201, 164, 95, .34);
    border-radius: 9px;
    color: var(--hirad-ai-gold-light);
    font-family: Georgia, serif;
    font-size: 11px;
}

.hirad-ai-message p {
    margin: 0;
    padding: 10px 12px;
    border-radius: 15px 15px 15px 4px;
    background: rgba(255, 255, 255, .075);
    color: #eee9e0;
    font-size: 13px;
    line-height: 1.75;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

[dir="rtl"] .hirad-ai-message p {
    border-radius: 15px 15px 4px 15px;
}

.hirad-ai-message--visitor p {
    border: 1px solid rgba(201, 164, 95, .28);
    border-radius: 15px 15px 4px 15px;
    background: rgba(201, 164, 95, .16);
    color: #fff;
}

[dir="rtl"] .hirad-ai-message--visitor p {
    border-radius: 15px 15px 15px 4px;
}

.hirad-ai-quick {
    display: flex;
    gap: 7px;
    overflow-x: auto;
    padding: 4px 15px 11px;
    scrollbar-width: none;
}

.hirad-ai-quick::-webkit-scrollbar {
    display: none;
}

.hirad-ai-quick button {
    flex: 0 0 auto;
    min-block-size: 38px;
    margin: 0;
    padding: 7px 11px;
    border: 1px solid rgba(201, 164, 95, .35);
    border-radius: 999px;
    background: rgba(201, 164, 95, .08);
    color: #e9dfce;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.hirad-ai-quick button:hover,
.hirad-ai-quick button.is-primary {
    border-color: var(--hirad-ai-gold);
    background: var(--hirad-ai-gold);
    color: #15120d;
}

.hirad-ai-quick button:disabled,
.hirad-ai-send:disabled {
    opacity: .48;
    cursor: wait;
}

.hirad-ai-typing {
    padding: 0 17px 8px;
    color: var(--hirad-ai-muted);
    font-size: 10.5px;
}

.hirad-ai-typing::before {
    content: "";
    display: inline-block;
    inline-size: 22px;
    block-size: 6px;
    margin-inline-end: 7px;
    background: radial-gradient(circle, var(--hirad-ai-gold) 2px, transparent 3px) 0 50% / 8px 8px repeat-x;
    animation: hirad-ai-dots 1s linear infinite;
}

@keyframes hirad-ai-dots {
    to { background-position: 8px 50%; }
}

.hirad-ai-form {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    margin: 0 12px;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 16px;
    background: rgba(255, 255, 255, .055);
}

.hirad-ai-form:focus-within {
    border-color: rgba(201, 164, 95, .66);
    box-shadow: 0 0 0 3px rgba(201, 164, 95, .09);
}

.hirad-ai-form textarea {
    display: block;
    inline-size: 100%;
    min-block-size: 42px;
    max-block-size: 116px;
    resize: none;
    overflow-y: auto;
    margin: 0;
    padding: 9px 7px;
    border: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
    color: #fff;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.55;
}

.hirad-ai-form textarea::placeholder {
    color: #8f887f;
}

.hirad-ai-send {
    border: 0;
    background: var(--hirad-ai-gold);
    color: #15120d;
    transition: transform .2s ease;
}

.hirad-ai-send:hover {
    transform: scale(1.05);
}

[dir="rtl"] .hirad-ai-send span {
    transform: rotate(180deg);
}

.hirad-ai-honeypot {
    position: absolute !important;
    inset-inline-start: -10000px !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    opacity: 0 !important;
}

.hirad-ai-footer {
    display: flex;
    justify-content: center;
    gap: 16px;
    padding: 9px 15px 12px;
    color: #817a71;
    font-size: 9.5px;
}

.hirad-ai-footer a {
    color: inherit !important;
    text-decoration: none !important;
}

.hirad-ai-footer a:hover {
    color: var(--hirad-ai-gold-light) !important;
}

.hirad-ai-shell .screen-reader-text {
    position: absolute !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    overflow: hidden !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    white-space: nowrap !important;
}

@media (max-width: 900px) {
    .hirad-ai-shell {
        inset-block-end: max(14px, env(safe-area-inset-bottom));
    }

    .hirad-ai-shell--right {
        right: max(14px, env(safe-area-inset-right));
        left: auto;
    }

    .hirad-ai-shell--left {
        left: max(14px, env(safe-area-inset-left));
        right: auto;
    }

    .hirad-ai-launcher {
        min-block-size: 52px;
        padding-block: 7px;
    }

    .hirad-ai-panel {
        inset-block-end: 66px;
        block-size: min(680px, max(340px, calc(var(--hirad-ai-viewport-height) - 96px)));
        max-block-size: calc(var(--hirad-ai-viewport-height) - 76px);
    }
}

@media (max-width: 620px) {
    body.hirad-ai-position-left .hirad-quote-float--left {
        right: max(14px, env(safe-area-inset-right)) !important;
    }

    body.hirad-ai-position-right .hirad-quote-float--right {
        left: max(14px, env(safe-area-inset-left)) !important;
    }

    .hirad-ai-shell {
        max-inline-size: calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right));
    }

    .hirad-ai-panel {
        position: fixed;
        left: max(8px, env(safe-area-inset-left));
        right: max(8px, env(safe-area-inset-right));
        inset-block-end: max(72px, calc(env(safe-area-inset-bottom) + 62px));
        inline-size: auto;
        block-size: min(680px, max(320px, calc(var(--hirad-ai-viewport-height) - 92px)));
        max-block-size: calc(var(--hirad-ai-viewport-height) - 82px);
        border-radius: 21px;
        transform-origin: bottom center;
    }

    .hirad-ai-header {
        min-block-size: 70px;
        padding: 11px 12px;
    }

    .hirad-ai-mark {
        inline-size: 40px;
        block-size: 40px;
    }

    .hirad-ai-message {
        max-inline-size: 92%;
    }

    .hirad-ai-message p {
        font-size: 12.5px;
    }
}

@media (max-width: 390px) {
    .hirad-ai-launcher {
        gap: 7px;
        padding-inline: 8px 12px;
    }

    .hirad-ai-launcher__mark {
        inline-size: 36px;
        block-size: 36px;
    }

    .hirad-ai-panel {
        left: max(4px, env(safe-area-inset-left));
        right: max(4px, env(safe-area-inset-right));
        border-radius: 18px;
    }

    .hirad-ai-heading strong {
        font-size: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hirad-ai-shell *,
    .hirad-ai-shell *::before,
    .hirad-ai-shell *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

@media (forced-colors: active) {
    .hirad-ai-launcher,
    .hirad-ai-panel,
    .hirad-ai-quick button,
    .hirad-ai-form {
        border: 1px solid CanvasText;
    }
}

/*
 * HIRAD AI OS 0.2.3 — Stone Concierge
 * A brand-specific, image-free finish: obsidian, warm limestone and restrained
 * brass. The stone-vein effect is CSS-only, so it adds no network request.
 */
:root {
    --hirad-ai-obsidian: #11100e;
    --hirad-ai-obsidian-soft: #1b1916;
    --hirad-ai-limestone: #f3ede2;
    --hirad-ai-limestone-muted: #c9c0b3;
    --hirad-ai-brass: #c9a45f;
    --hirad-ai-brass-bright: #e5cc98;
    --hirad-ai-brass-deep: #8d672f;
    --hirad-ai-panel-border: rgba(229, 204, 152, .34);
    --hirad-ai-premium-shadow: 0 34px 100px rgba(0, 0, 0, .5), 0 10px 30px rgba(0, 0, 0, .26);
}

.hirad-ai-shell {
    z-index: 99990;
    letter-spacing: 0;
}

.hirad-ai-panel {
    inline-size: min(424px, calc(100vw - 36px));
    block-size: min(720px, max(400px, calc(var(--hirad-ai-viewport-height) - 112px)));
    overflow: hidden;
    border-color: var(--hirad-ai-panel-border);
    border-radius: 30px;
    background:
        radial-gradient(circle at 92% -8%, rgba(229, 204, 152, .2), transparent 34%),
        radial-gradient(circle at -12% 75%, rgba(141, 103, 47, .12), transparent 34%),
        linear-gradient(155deg, #1b1916 0%, #11100e 56%, #171410 100%);
    box-shadow: var(--hirad-ai-premium-shadow);
}

.hirad-ai-panel::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    border-radius: inherit;
    background:
        linear-gradient(118deg, transparent 0 38%, rgba(229, 204, 152, .045) 38.25%, transparent 38.8% 100%),
        linear-gradient(63deg, transparent 0 71%, rgba(255, 255, 255, .025) 71.25%, transparent 72% 100%);
    opacity: .75;
    pointer-events: none;
}

.hirad-ai-panel::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0 46px auto;
    block-size: 1px;
    background: linear-gradient(90deg, transparent, var(--hirad-ai-brass-bright), transparent);
    opacity: .7;
    pointer-events: none;
}

.hirad-ai-header,
.hirad-ai-messages,
.hirad-ai-quick,
.hirad-ai-typing,
.hirad-ai-form,
.hirad-ai-footer {
    position: relative;
    z-index: 1;
}

.hirad-ai-header {
    min-block-size: 96px;
    gap: 13px;
    padding: 17px 18px;
    border-block-end-color: rgba(229, 204, 152, .13);
    background: linear-gradient(180deg, rgba(7, 7, 6, .7), rgba(17, 16, 14, .4));
    backdrop-filter: blur(22px) saturate(125%);
}

.hirad-ai-mark,
.hirad-ai-launcher__mark {
    position: relative;
    overflow: hidden;
    border-color: rgba(229, 204, 152, .55);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .08), transparent 45%),
        #16130f;
    color: var(--hirad-ai-brass-bright);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .28);
}

.hirad-ai-mark {
    inline-size: 48px;
    block-size: 48px;
    border-radius: 16px;
    font-size: 21px;
}

.hirad-ai-mark::after,
.hirad-ai-launcher__mark::after {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid rgba(229, 204, 152, .18);
    border-radius: inherit;
    transform: rotate(45deg) scale(.72);
}

.hirad-ai-heading__kicker {
    display: block;
    margin-block-end: 3px;
    overflow: hidden;
    color: var(--hirad-ai-brass);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 8px;
    letter-spacing: .16em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hirad-ai-heading strong {
    font-size: 14px;
    letter-spacing: -.01em;
}

.hirad-ai-heading small {
    margin-block-start: 4px;
    color: #a9a095;
    font-size: 10px;
}

.hirad-ai-heading small i {
    background: #7bd09a;
    box-shadow: 0 0 0 4px rgba(123, 208, 154, .1), 0 0 14px rgba(123, 208, 154, .4);
}

.hirad-ai-close {
    inline-size: 40px;
    block-size: 40px;
    min-inline-size: 40px;
    min-block-size: 40px;
    border-color: rgba(229, 204, 152, .16);
    background: rgba(255, 255, 255, .035);
}

.hirad-ai-close:hover {
    border-color: rgba(229, 204, 152, .42);
    background: rgba(229, 204, 152, .09);
}

.hirad-ai-messages {
    gap: 13px;
    padding: 18px 17px 12px;
    scroll-padding-block: 18px;
}

.hirad-ai-intro {
    position: relative;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 14px;
    padding: 17px;
    overflow: hidden;
    border: 1px solid rgba(229, 204, 152, .25);
    border-radius: 20px;
    background:
        radial-gradient(circle at 0 0, rgba(229, 204, 152, .14), transparent 38%),
        linear-gradient(135deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .018));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}

.hirad-ai-intro::after {
    content: "";
    position: absolute;
    inset: auto -14% -70% 45%;
    aspect-ratio: 1;
    border: 1px solid rgba(229, 204, 152, .09);
    border-radius: 50%;
    pointer-events: none;
}

.hirad-ai-intro__ornament {
    display: grid;
    place-items: center;
    inline-size: 56px;
    block-size: 66px;
    border: 1px solid rgba(229, 204, 152, .34);
    border-radius: 18px 18px 8px 18px;
    background:
        linear-gradient(145deg, rgba(229, 204, 152, .17), transparent 48%),
        #15130f;
    color: var(--hirad-ai-brass-bright);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
}

.hirad-ai-intro__copy {
    display: flex;
    min-inline-size: 0;
    flex-direction: column;
    justify-content: center;
}

.hirad-ai-intro__copy small {
    color: var(--hirad-ai-brass);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
}

.hirad-ai-intro__copy strong {
    margin-block: 3px 5px;
    color: #fff;
    font-family: Georgia, Tahoma, serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
}

.hirad-ai-intro__copy > span {
    color: var(--hirad-ai-limestone-muted);
    font-size: 10.5px;
    line-height: 1.8;
}

.hirad-ai-message {
    max-inline-size: 91%;
    gap: 8px;
}

.hirad-ai-message__avatar {
    inline-size: 27px;
    block-size: 27px;
    border-color: rgba(229, 204, 152, .38);
    border-radius: 9px 9px 4px 9px;
    background: rgba(229, 204, 152, .04);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18);
}

.hirad-ai-message p {
    padding: 11px 13px;
    border: 1px solid rgba(255, 255, 255, .065);
    border-radius: 17px 17px 17px 5px;
    background: rgba(246, 239, 226, .075);
    color: #f1ece4;
    font-size: 13px;
    line-height: 1.85;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .1);
}

[dir="rtl"] .hirad-ai-message p {
    border-radius: 17px 17px 5px 17px;
}

.hirad-ai-message--visitor p {
    border-color: rgba(229, 204, 152, .38);
    border-radius: 17px 17px 5px 17px;
    background: linear-gradient(135deg, rgba(201, 164, 95, .25), rgba(141, 103, 47, .18));
    color: #fffaf0;
}

[dir="rtl"] .hirad-ai-message--visitor p {
    border-radius: 17px 17px 17px 5px;
}

.hirad-ai-quick {
    gap: 8px;
    padding: 6px 17px 13px;
}

.hirad-ai-quick button {
    display: inline-flex;
    min-block-size: 42px;
    align-items: center;
    gap: 8px;
    padding: 8px 13px;
    border-color: rgba(229, 204, 152, .3);
    background: rgba(246, 239, 226, .035);
    color: #eee5d7;
    font-size: 11px;
    transition: border-color .22s ease, background .22s ease, color .22s ease, transform .22s ease;
}

.hirad-ai-quick button::after {
    content: "›";
    color: var(--hirad-ai-brass);
    font-family: Arial, sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
}

[dir="rtl"] .hirad-ai-quick button::after {
    content: "‹";
}

.hirad-ai-quick button:hover,
.hirad-ai-quick button.is-primary {
    border-color: var(--hirad-ai-brass);
    background: linear-gradient(135deg, var(--hirad-ai-brass-bright), var(--hirad-ai-brass));
    color: #17120b;
    transform: translateY(-1px);
}

.hirad-ai-quick button:hover::after,
.hirad-ai-quick button.is-primary::after {
    color: #17120b;
}

.hirad-ai-typing {
    padding-inline: 19px;
    color: #a89f92;
}

.hirad-ai-form {
    gap: 9px;
    margin: 0 14px;
    padding: 7px 7px 7px 10px;
    border-color: rgba(229, 204, 152, .2);
    border-radius: 19px;
    background: rgba(246, 239, 226, .055);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

[dir="rtl"] .hirad-ai-form {
    padding: 7px 10px 7px 7px;
}

.hirad-ai-form:focus-within {
    border-color: rgba(229, 204, 152, .7);
    background: rgba(246, 239, 226, .075);
    box-shadow: 0 0 0 3px rgba(201, 164, 95, .08), inset 0 1px 0 rgba(255, 255, 255, .035);
}

.hirad-ai-form textarea {
    min-block-size: 44px;
    padding: 10px 7px;
    color: #fffdf7;
}

.hirad-ai-form textarea::placeholder {
    color: #91887d;
}

.hirad-ai-send {
    inline-size: 44px;
    block-size: 44px;
    min-inline-size: 44px;
    min-block-size: 44px;
    background: linear-gradient(145deg, var(--hirad-ai-brass-bright), var(--hirad-ai-brass));
    box-shadow: 0 8px 22px rgba(141, 103, 47, .25);
}

.hirad-ai-footer {
    display: grid;
    gap: 6px;
    padding: 10px 17px 14px;
    text-align: center;
}

.hirad-ai-assurance {
    color: #8f877b;
    font-size: 8.5px;
    line-height: 1.6;
}

.hirad-ai-footer__links {
    display: flex;
    justify-content: center;
    gap: 18px;
    color: #aaa195;
    font-size: 9.5px;
}

.hirad-ai-launcher {
    min-block-size: 62px;
    gap: 12px;
    padding: 8px 17px 8px 9px;
    border-color: rgba(229, 204, 152, .48);
    border-radius: 20px;
    background:
        linear-gradient(135deg, rgba(229, 204, 152, .1), transparent 46%),
        rgba(17, 16, 14, .96);
    box-shadow: 0 20px 55px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .04);
    color: #fff !important;
    backdrop-filter: blur(16px);
}

.hirad-ai-shell--left .hirad-ai-launcher {
    padding: 8px 9px 8px 17px;
}

.hirad-ai-launcher:hover {
    border-color: rgba(229, 204, 152, .82);
    color: #fff !important;
    box-shadow: 0 24px 65px rgba(0, 0, 0, .42), 0 0 0 3px rgba(201, 164, 95, .1);
}

.hirad-ai-launcher__mark {
    inline-size: 44px;
    block-size: 44px;
    border-radius: 15px;
    background: linear-gradient(145deg, var(--hirad-ai-brass-bright), var(--hirad-ai-brass-deep));
    color: #17120b;
    font-size: 20px;
}

.hirad-ai-launcher__mark::after {
    border-color: rgba(23, 18, 11, .2);
}

.hirad-ai-launcher__copy {
    display: block;
    min-inline-size: 0;
}

.hirad-ai-launcher__copy b,
.hirad-ai-launcher__copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hirad-ai-launcher__copy b {
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.hirad-ai-launcher__copy small {
    margin-block-start: 2px;
    color: #b9b0a4;
    font-size: 8.5px;
}

.hirad-ai-launcher > i {
    inset: -5px;
    border-color: rgba(229, 204, 152, .4);
    border-radius: 23px;
}

@media (max-width: 620px) {
    body.hirad-ai-chat-open {
        overflow: hidden;
        overscroll-behavior: none;
    }

    .hirad-ai-shell {
        inset-block-end: max(12px, env(safe-area-inset-bottom));
    }

    .hirad-ai-panel,
    .hirad-ai-shell--right .hirad-ai-panel,
    .hirad-ai-shell--left .hirad-ai-panel {
        position: fixed;
        inset: max(4px, env(safe-area-inset-top)) 0 auto;
        inline-size: 100%;
        block-size: calc(var(--hirad-ai-viewport-height) - max(4px, env(safe-area-inset-top)));
        max-block-size: none;
        border-inline: 0;
        border-block-end: 0;
        border-radius: 24px 24px 0 0;
        transform-origin: bottom center;
    }

    .hirad-ai-header {
        min-block-size: 88px;
        padding-inline: max(14px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-right));
    }

    .hirad-ai-messages {
        padding-inline: max(14px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-right));
    }

    .hirad-ai-quick {
        padding-inline: max(14px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-right));
    }

    .hirad-ai-form {
        margin-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));
    }

    .hirad-ai-footer {
        padding-block-end: max(12px, env(safe-area-inset-bottom));
        padding-inline: max(14px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-right));
    }

    .hirad-ai-intro {
        grid-template-columns: 52px minmax(0, 1fr);
        padding: 15px;
    }

    .hirad-ai-intro__ornament {
        inline-size: 52px;
        block-size: 62px;
    }
}

@media (max-width: 390px) {
    .hirad-ai-launcher {
        max-inline-size: calc(100vw - 24px);
        min-block-size: 58px;
        border-radius: 18px;
    }

    .hirad-ai-launcher__mark {
        inline-size: 40px;
        block-size: 40px;
    }

    .hirad-ai-heading__kicker {
        max-inline-size: 190px;
        font-size: 7px;
    }

    .hirad-ai-heading strong {
        font-size: 13px;
    }

    .hirad-ai-intro__copy strong {
        font-size: 14px;
    }

    .hirad-ai-message p {
        font-size: 12.5px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hirad-ai-quick button {
        transform: none !important;
    }
}

@media (forced-colors: active) {
    .hirad-ai-intro,
    .hirad-ai-message p,
    .hirad-ai-assurance {
        border-color: CanvasText;
        color: CanvasText;
    }
}

/*
 * HIRAD AI OS 0.2.4 — Stone Concierge visual refinement
 * Presentation-only overrides. Provider, budgets, storage, REST and lead
 * handling are deliberately untouched.
 */
.hirad-ai-panel {
    inline-size: min(440px, calc(100vw - 36px));
    block-size: min(708px, max(400px, calc(var(--hirad-ai-viewport-height) - 120px)));
    border-radius: 26px;
}

.hirad-ai-header {
    min-block-size: 84px;
    gap: 12px;
    padding: 14px 16px;
}

.hirad-ai-mark {
    inline-size: 44px;
    block-size: 44px;
    border-radius: 14px;
    font-size: 19px;
}

.hirad-ai-heading__kicker {
    margin-block-end: 2px;
    font-size: 7.5px;
}

.hirad-ai-heading small {
    margin-block-start: 3px;
}

.hirad-ai-messages {
    gap: 11px;
    padding: 15px 16px 11px;
}

.hirad-ai-message {
    max-inline-size: 88%;
}

.hirad-ai-message p {
    padding: 10px 12px;
    font-size: 12.75px;
    line-height: 1.8;
}

.hirad-ai-message p strong {
    color: var(--hirad-ai-brass-bright);
    font-weight: 800;
}

.hirad-ai-message--visitor p strong {
    color: #fff;
}

.hirad-ai-quick {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    max-block-size: 132px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 7px 16px 11px;
    scrollbar-color: rgba(201, 164, 95, .34) transparent;
    scrollbar-width: thin;
}

.hirad-ai-quick button {
    min-inline-size: 0;
    max-inline-size: 100%;
    min-block-size: 40px;
    justify-content: space-between;
    padding: 7px 10px;
    text-align: start;
    white-space: normal;
    line-height: 1.45;
}

.hirad-ai-quick button::after {
    flex: 0 0 auto;
}

.hirad-ai-form {
    gap: 8px;
    margin: 0 14px;
    padding: 6px 7px;
    border-radius: 17px;
}

.hirad-ai-form textarea,
.hirad-ai-form textarea:focus,
.hirad-ai-form textarea:focus-visible {
    min-block-size: 42px;
    padding: 9px 7px;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.hirad-ai-send {
    inline-size: 42px;
    block-size: 42px;
    min-inline-size: 42px;
    min-block-size: 42px;
}

.hirad-ai-footer {
    gap: 4px;
    padding: 8px 16px 11px;
}

.hirad-ai-assurance {
    font-size: 9px;
}

.hirad-ai-footer__links {
    font-size: 10px;
}

@media (max-width: 620px) {
    .hirad-ai-panel,
    .hirad-ai-shell--right .hirad-ai-panel,
    .hirad-ai-shell--left .hirad-ai-panel {
        inline-size: 100%;
        block-size: calc(var(--hirad-ai-viewport-height) - max(4px, env(safe-area-inset-top)));
        border-radius: 20px 20px 0 0;
    }

    .hirad-ai-header {
        min-block-size: 76px;
        padding-block: 11px;
    }

    .hirad-ai-messages {
        gap: 10px;
        padding-block: 13px 9px;
    }

    .hirad-ai-message {
        max-inline-size: 90%;
    }

    .hirad-ai-quick {
        gap: 6px;
        max-block-size: 126px;
        padding-block: 6px 10px;
    }

    .hirad-ai-quick button {
        min-block-size: 39px;
        padding: 6px 9px;
        font-size: 10.5px;
    }

    .hirad-ai-footer {
        padding-block-end: max(10px, env(safe-area-inset-bottom));
    }
}

@media (max-width: 350px) {
    .hirad-ai-heading__kicker {
        max-inline-size: 160px;
    }

    .hirad-ai-quick button {
        font-size: 10px;
    }
}
