:root {
    --kac-onyx: #1c1b1a;
    --kac-navy: #0f1e36;
    --kac-gold: #96762d;
    --kac-gold-light: #c7a85a;
    --kac-sand: #f7f4ef;
    --kac-paper: #fffdf9;
    --kac-muted: #77716a;
    --kac-line: rgba(28, 27, 26, .12);
}

.kac-widget,
.kac-widget * {
    box-sizing: border-box;
}

.kac-widget {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 999999;
    color: var(--kac-onyx);
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    font-size: 14px;
    line-height: 1.5;
}

.kac-widget[dir="rtl"] {
    right: auto;
    left: 24px;
}

.kac-widget__launcher {
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 11px;
    margin-left: auto;
    padding: 8px 18px 8px 10px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: var(--kac-navy);
    box-shadow: 0 16px 45px rgba(10, 19, 33, .28);
    color: #fff;
    cursor: pointer;
    font: 700 11px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    letter-spacing: .05em;
    transition: transform .25s ease, box-shadow .25s ease;
}

.kac-widget__launcher:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 55px rgba(10, 19, 33, .34);
}

.kac-widget__launcher-icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    flex: none;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--kac-gold-light), var(--kac-gold));
}

.kac-widget__launcher-icon svg {
    width: 22px;
    height: 22px;
    fill: #fff;
}

.kac-widget[data-state="open"] .kac-widget__launcher {
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
}

.kac-widget__panel {
    position: absolute;
    right: 0;
    bottom: 0;
    width: min(390px, calc(100vw - 28px));
    height: min(650px, calc(100vh - 28px));
    overflow: hidden;
    border: 1px solid rgba(150, 118, 45, .22);
    border-radius: 22px;
    background: var(--kac-paper);
    box-shadow: 0 30px 90px rgba(15, 30, 54, .3);
    animation: kac-panel-in .28s cubic-bezier(.2, .8, .2, 1);
}

.kac-widget[dir="rtl"] .kac-widget__panel {
    right: auto;
    left: 0;
}

@keyframes kac-panel-in {
    from { opacity: 0; transform: translateY(18px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.kac-widget__header {
    min-height: 128px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 24px 22px;
    background:
        radial-gradient(circle at 85% 0, rgba(199, 168, 90, .22), transparent 42%),
        var(--kac-navy);
    color: #fff;
}

.kac-widget__eyebrow {
    display: block;
    margin-bottom: 7px;
    color: var(--kac-gold-light);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .25em;
}

.kac-widget__header h2 {
    margin: 0 0 7px;
    color: #fff;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 27px;
    font-weight: 500;
    line-height: 1.05;
}

.kac-widget__header p {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: rgba(255, 255, 255, .7);
    font-size: 10px;
}

.kac-widget__status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #64bc86;
    box-shadow: 0 0 0 4px rgba(100, 188, 134, .12);
}

.kac-widget__close {
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    background: rgba(255, 255, 255, .05);
    color: #fff;
    cursor: pointer;
    font: 300 25px/30px Arial, sans-serif;
}

.kac-widget__lead {
    height: calc(100% - 128px);
    overflow-y: auto;
    padding: 24px 24px 28px;
    background:
        linear-gradient(180deg, rgba(150, 118, 45, .05), transparent 120px),
        var(--kac-paper);
}

.kac-widget__intro {
    margin: 0 0 20px;
    color: #4c4945;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 20px;
    line-height: 1.35;
}

.kac-widget__lead-form {
    display: grid;
    gap: 13px;
}

.kac-widget__lead-form label > span:first-child {
    display: block;
    margin-bottom: 5px;
    color: #5c5751;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.kac-widget input,
.kac-widget select,
.kac-widget textarea {
    width: 100%;
    min-height: 43px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--kac-line);
    border-radius: 9px;
    outline: none;
    background: #fff;
    color: var(--kac-onyx);
    font: 500 13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

.kac-widget input:focus,
.kac-widget select:focus,
.kac-widget textarea:focus {
    border-color: var(--kac-gold);
    box-shadow: 0 0 0 3px rgba(150, 118, 45, .1);
}

.kac-widget__consent {
    display: flex !important;
    align-items: flex-start;
    gap: 8px;
    color: var(--kac-muted);
    font-size: 10px;
    line-height: 1.45;
}

.kac-widget__consent input {
    width: 15px;
    min-height: 15px;
    margin-top: 1px;
}

.kac-widget__consent a {
    color: var(--kac-gold);
}

.kac-widget__primary {
    min-height: 48px;
    border: 0;
    border-radius: 10px;
    background: var(--kac-navy);
    color: #fff;
    cursor: pointer;
    font: 700 10px/1 Montserrat, "Helvetica Neue", Arial, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.kac-widget__primary:disabled {
    opacity: .55;
}

.kac-widget__primary:hover,
.kac-widget__primary:focus {
    background: #172947;
    color: #fff;
}

.kac-widget__conversation {
    height: calc(100% - 128px);
    display: grid;
    grid-template-rows: 1fr auto auto;
    background: var(--kac-sand);
}

.kac-widget__messages {
    overflow-y: auto;
    padding: 20px 17px;
    scroll-behavior: smooth;
}

.kac-widget__message {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 13px;
}

.kac-widget__message > div {
    max-width: 84%;
    padding: 10px 13px;
    border: 1px solid rgba(28, 27, 26, .08);
    border-radius: 5px 15px 15px 15px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(28, 27, 26, .04);
    color: #383532;
    font-size: 12px;
    white-space: pre-wrap;
}

.kac-widget__message time {
    margin: 4px 5px 0;
    color: #9c958e;
    font-size: 8px;
}

.kac-widget__message--visitor {
    align-items: flex-end;
}

.kac-widget__message--visitor > div {
    border-radius: 15px 5px 15px 15px;
    border-color: var(--kac-navy);
    background: var(--kac-navy);
    color: #fff;
}

.kac-widget__message--ai > div {
    border-left: 3px solid var(--kac-gold);
}

.kac-widget__message--system > div {
    max-width: 92%;
    border: 0;
    background: rgba(150, 118, 45, .1);
    color: #62522f;
    font-size: 11px;
}

.kac-widget__composer {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding: 11px 12px;
    border-top: 1px solid var(--kac-line);
    background: #fff;
}

.kac-widget__composer textarea {
    min-height: 42px;
    max-height: 110px;
    resize: none;
}

.kac-widget__composer button {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: none;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--kac-gold);
    cursor: pointer;
}

.kac-widget__composer button svg {
    width: 20px;
    height: 20px;
    fill: #fff;
}

.kac-widget__notice {
    margin: 0;
    padding: 8px 12px 10px;
    background: #fff;
    color: #9a938b;
    font-size: 8px;
    line-height: 1.45;
    text-align: center;
}

.kac-widget__error {
    position: absolute;
    right: 12px;
    bottom: 75px;
    left: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #7b2e2e;
    box-shadow: 0 10px 30px rgba(65, 17, 17, .2);
    color: #fff;
    font-size: 10px;
}

@media (max-width: 520px) {
    .kac-widget {
        right: 14px;
        bottom: 14px;
    }

    .kac-widget[dir="rtl"] {
        right: auto;
        left: 14px;
    }

    .kac-widget__panel {
        position: fixed;
        inset: 8px;
        width: auto;
        height: auto;
        border-radius: 17px;
    }

    .kac-widget__launcher-label {
        display: none;
    }

    .kac-widget__launcher {
        width: 58px;
        padding: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kac-widget__panel,
    .kac-widget__launcher {
        animation: none;
        transition: none;
    }
}

/* KAPICO Concierge 0.2.0: fluid, theme-isolated customer experience */
body:has(#kac-widget-root) .joinchat,
body:has(#kac-widget-root) #qlwapp,
body:has(#kac-widget-root) .qlwapp,
body:has(#kac-widget-root) .ht-ctc,
body:has(#kac-widget-root) #ht-ctc-chat,
body:has(#kac-widget-root) .whatsappme,
body:has(#kac-widget-root) .cresta-whatsapp-chat-box,
body:has(#kac-widget-root) .wa__btn_popup {
    display: none !important;
}

.kac-widget {
    right: 26px !important;
    bottom: 26px !important;
    z-index: 999969 !important;
    color: var(--kac-onyx) !important;
    font-family: Montserrat, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    isolation: isolate;
}

.kac-widget[dir="rtl"] {
    right: auto !important;
    left: 26px !important;
}

.kac-widget *,
.kac-widget *::before,
.kac-widget *::after {
    box-sizing: border-box !important;
}

.kac-widget [hidden] {
    display: none !important;
}

body .kac-widget button,
body .kac-widget input,
body .kac-widget select,
body .kac-widget textarea {
    font-family: Montserrat, "Helvetica Neue", Arial, sans-serif !important;
    text-transform: none !important;
}

body .kac-widget__launcher {
    position: relative !important;
    min-width: 244px !important;
    min-height: 68px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 0 auto !important;
    padding: 8px 14px 8px 9px !important;
    overflow: visible !important;
    border: 1px solid rgba(255, 255, 255, .19) !important;
    border-radius: 999px !important;
    background:
        linear-gradient(105deg, rgba(255, 255, 255, .08), transparent 35%),
        var(--kac-navy) !important;
    box-shadow:
        0 19px 50px rgba(7, 16, 30, .3),
        0 1px 0 rgba(255, 255, 255, .13) inset !important;
    color: #fff !important;
    cursor: pointer !important;
    letter-spacing: normal !important;
    line-height: 1 !important;
    animation: kac-launcher-float 5s ease-in-out infinite !important;
    transition: transform .3s ease, box-shadow .3s ease !important;
}

body .kac-widget__launcher::before,
body .kac-widget__launcher::after {
    position: absolute;
    z-index: -1;
    inset: -7px;
    border: 1px solid rgba(150, 118, 45, .24);
    border-radius: 999px;
    content: "";
    pointer-events: none;
    opacity: 0;
    animation: kac-launcher-current 4.2s ease-out infinite;
}

body .kac-widget__launcher::after {
    animation-delay: 2.1s;
}

@keyframes kac-launcher-current {
    0% {
        opacity: .48;
        transform: scale(.96);
    }
    72%,
    100% {
        opacity: 0;
        transform: scale(1.1);
    }
}

@keyframes kac-launcher-float {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-4px);
    }
}

body .kac-widget__launcher:hover,
body .kac-widget__launcher:focus {
    border-color: rgba(200, 170, 97, .55) !important;
    background:
        linear-gradient(105deg, rgba(255, 255, 255, .1), transparent 40%),
        #152844 !important;
    box-shadow: 0 24px 65px rgba(7, 16, 30, .38) !important;
    color: #fff !important;
    transform: translateY(-3px) scale(1.015) !important;
    outline: none !important;
}

body .kac-widget__launcher:focus-visible {
    outline: 3px solid rgba(200, 170, 97, .44) !important;
    outline-offset: 4px !important;
}

.kac-widget__launcher-icon {
    position: relative !important;
    width: 50px !important;
    height: 50px !important;
    border: 1px solid rgba(255, 255, 255, .24) !important;
    border-radius: 50% !important;
    background:
        radial-gradient(circle at 30% 24%, rgba(255, 255, 255, .28), transparent 34%),
        linear-gradient(145deg, var(--kac-gold-light), var(--kac-gold)) !important;
    box-shadow: 0 10px 24px rgba(150, 118, 45, .32) !important;
}

.kac-widget__launcher-icon svg {
    width: 24px !important;
    height: 24px !important;
    fill: #fff !important;
}

.kac-widget__launcher-copy {
    min-width: 0;
    display: grid !important;
    flex: 1;
    gap: 5px;
    text-align: left;
}

.kac-widget__launcher-copy small {
    color: var(--kac-gold-light) !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    letter-spacing: .18em !important;
    line-height: 1 !important;
}

.kac-widget__launcher-label {
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .01em !important;
    line-height: 1.15 !important;
}

.kac-widget__launcher-arrow {
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    flex: none;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    color: rgba(255, 255, 255, .75);
    font-size: 12px;
    transition: transform .25s ease;
}

.kac-widget__launcher:hover .kac-widget__launcher-arrow {
    transform: translate(2px, -2px);
}

.kac-widget[data-state="open"] .kac-widget__launcher {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(10px) scale(.96) !important;
}

body .kac-widget__panel {
    right: 0 !important;
    bottom: 0 !important;
    width: min(430px, calc(100vw - 30px)) !important;
    height: min(700px, calc(100dvh - 30px)) !important;
    overflow: hidden !important;
    border: 1px solid rgba(200, 170, 97, .3) !important;
    border-radius: 25px !important;
    background: var(--kac-paper) !important;
    box-shadow:
        0 35px 100px rgba(7, 16, 30, .38),
        0 1px 0 rgba(255, 255, 255, .8) inset !important;
    color: var(--kac-onyx) !important;
    animation: kac-panel-water-in .5s cubic-bezier(.16, 1, .3, 1) both !important;
}

.kac-widget[dir="rtl"] .kac-widget__panel {
    right: auto !important;
    left: 0 !important;
}

@keyframes kac-panel-water-in {
    from {
        opacity: 0;
        border-radius: 38px 18px 32px 20px;
        transform: translateY(25px) scale(.965);
    }
    to {
        opacity: 1;
        border-radius: 25px;
        transform: translateY(0) scale(1);
    }
}

body .kac-widget__header {
    position: relative !important;
    min-height: 154px !important;
    padding: 24px 22px !important;
    overflow: hidden !important;
    border: 0 !important;
    background:
        radial-gradient(circle at 92% -5%, rgba(200, 170, 97, .26), transparent 43%),
        linear-gradient(145deg, rgba(255, 255, 255, .035), transparent 42%),
        var(--kac-navy) !important;
    color: #fff !important;
}

body .kac-widget__header::after {
    position: absolute;
    right: -56px;
    bottom: -94px;
    width: 230px;
    height: 160px;
    border: 1px solid rgba(200, 170, 97, .13);
    border-radius: 45% 55% 60% 40% / 46% 38% 62% 54%;
    content: "";
    pointer-events: none;
    animation: kac-widget-waterline 12s ease-in-out infinite alternate;
}

@keyframes kac-widget-waterline {
    to {
        transform: translate(-22px, -15px) rotate(13deg) scale(1.09);
        border-radius: 60% 40% 43% 57% / 39% 58% 42% 61%;
    }
}

.kac-widget__header-copy {
    position: relative;
    z-index: 1;
    min-width: 0;
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
}

.kac-widget__logo {
    width: 84px !important;
    height: 68px !important;
    display: block !important;
    flex: none !important;
    margin: 0 !important;
    object-fit: contain !important;
}

.kac-widget__header-copy > div {
    min-width: 0;
    padding-top: 4px;
}

.kac-widget__eyebrow {
    margin-bottom: 7px !important;
    color: var(--kac-gold-light) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .19em !important;
}

body .kac-widget__header h2 {
    margin: 0 0 8px !important;
    color: #fff !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 29px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
}

body .kac-widget__header p {
    gap: 8px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .76) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

.kac-widget__status-dot {
    width: 8px !important;
    height: 8px !important;
    background: #72c895 !important;
    box-shadow: 0 0 0 5px rgba(114, 200, 149, .13) !important;
}

body .kac-widget__close {
    position: relative !important;
    z-index: 2 !important;
    width: 38px !important;
    height: 38px !important;
    flex: none !important;
    padding: 0 0 2px !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .06) !important;
    box-shadow: none !important;
    color: #fff !important;
    font: 300 26px/35px Arial, sans-serif !important;
}

body .kac-widget__close:hover,
body .kac-widget__close:focus {
    border-color: rgba(200, 170, 97, .6) !important;
    background: rgba(200, 170, 97, .14) !important;
    color: #fff !important;
    transform: rotate(6deg);
}

body .kac-widget__lead {
    height: calc(100% - 154px) !important;
    padding: 26px 25px 30px !important;
    background:
        radial-gradient(circle at 100% 0, rgba(150, 118, 45, .07), transparent 30%),
        linear-gradient(180deg, rgba(150, 118, 45, .04), transparent 130px),
        var(--kac-paper) !important;
}

.kac-widget__intro {
    margin: 0 0 22px !important;
    color: #45413d !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 23px !important;
    line-height: 1.32 !important;
}

.kac-widget__lead-form {
    gap: 15px !important;
}

.kac-widget__lead-form label > span:first-child {
    margin-bottom: 6px !important;
    color: #5f5953 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
}

body .kac-widget input,
body .kac-widget select,
body .kac-widget textarea {
    min-height: 47px !important;
    margin: 0 !important;
    padding: 11px 13px !important;
    border: 1px solid rgba(28, 27, 26, .14) !important;
    border-radius: 11px !important;
    outline: none !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--kac-onyx) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

body .kac-widget input:focus,
body .kac-widget select:focus,
body .kac-widget textarea:focus {
    border-color: var(--kac-gold) !important;
    box-shadow: 0 0 0 4px rgba(150, 118, 45, .1) !important;
}

body .kac-widget__consent {
    gap: 9px !important;
    color: var(--kac-muted) !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

body .kac-widget__consent input {
    width: 17px !important;
    height: 17px !important;
    min-height: 17px !important;
    flex: none !important;
    margin-top: 1px !important;
    padding: 0 !important;
    accent-color: var(--kac-gold);
}

body .kac-widget__consent a {
    color: #7d611f !important;
}

body .kac-widget__primary {
    min-height: 52px !important;
    border: 1px solid var(--kac-navy) !important;
    border-radius: 11px !important;
    background:
        linear-gradient(105deg, rgba(255, 255, 255, .07), transparent 40%),
        var(--kac-navy) !important;
    box-shadow: 0 12px 30px rgba(15, 30, 54, .16) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
}

body .kac-widget__primary:hover,
body .kac-widget__primary:focus {
    border-color: var(--kac-gold) !important;
    background: var(--kac-gold) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

body .kac-widget__conversation {
    height: calc(100% - 154px) !important;
    background:
        radial-gradient(circle at 68% 8%, rgba(150, 118, 45, .075), transparent 31%),
        var(--kac-sand) !important;
}

.kac-widget__messages {
    padding: 22px 19px !important;
    scrollbar-color: rgba(150, 118, 45, .38) transparent;
}

.kac-widget__message {
    margin-bottom: 16px !important;
    animation: kac-widget-message-in .32s ease both;
}

@keyframes kac-widget-message-in {
    from {
        opacity: 0;
        transform: translateY(7px);
    }
}

body .kac-widget__message > div {
    max-width: 86% !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(28, 27, 26, .09) !important;
    border-radius: 5px 17px 17px 17px !important;
    background: #fff !important;
    box-shadow: 0 7px 22px rgba(28, 27, 26, .045) !important;
    color: #383532 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.kac-widget__message time {
    margin: 5px 6px 0 !important;
    color: #8d867e !important;
    font-size: 9px !important;
}

body .kac-widget__message--visitor > div {
    border-color: var(--kac-navy) !important;
    border-radius: 17px 5px 17px 17px !important;
    background: var(--kac-navy) !important;
    color: #fff !important;
}

body .kac-widget__message--ai > div {
    border-left: 3px solid var(--kac-gold) !important;
}

body .kac-widget__message--system > div {
    max-width: 94% !important;
    border: 0 !important;
    background: rgba(150, 118, 45, .11) !important;
    color: #5c4c29 !important;
    font-size: 12px !important;
}

body .kac-widget__composer {
    gap: 9px !important;
    padding: 12px 13px !important;
    border: 0 !important;
    border-top: 1px solid var(--kac-line) !important;
    background: rgba(255, 255, 255, .96) !important;
}

body .kac-widget__composer textarea {
    min-height: 46px !important;
    max-height: 120px !important;
    padding: 12px 13px !important;
}

body .kac-widget__composer button {
    width: 46px !important;
    height: 46px !important;
    display: grid !important;
    place-items: center !important;
    flex: none !important;
    padding: 0 !important;
    border: 1px solid var(--kac-gold) !important;
    border-radius: 50% !important;
    background: var(--kac-gold) !important;
    box-shadow: 0 9px 22px rgba(150, 118, 45, .22) !important;
}

body .kac-widget__composer button:hover,
body .kac-widget__composer button:focus {
    border-color: var(--kac-navy) !important;
    background: var(--kac-navy) !important;
    transform: translateY(-1px) rotate(-3deg);
}

.kac-widget__composer button svg {
    width: 21px !important;
    height: 21px !important;
    fill: #fff !important;
}

body .kac-widget__notice {
    padding: 9px 13px 11px !important;
    background: #fff !important;
    color: #817a72 !important;
    font-size: 9px !important;
    line-height: 1.5 !important;
}

body .kac-widget__error {
    right: 14px !important;
    bottom: 82px !important;
    left: 14px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 10px !important;
    background: #713232 !important;
    color: #fff !important;
    font-size: 11px !important;
}

@media (max-width: 520px) {
    .kac-widget {
        right: 12px !important;
        bottom: 12px !important;
    }

    .kac-widget[dir="rtl"] {
        right: auto !important;
        left: 12px !important;
    }

    body .kac-widget__panel {
        position: fixed !important;
        inset: 6px !important;
        width: auto !important;
        height: auto !important;
        border-radius: 18px !important;
    }

    body .kac-widget__launcher {
        width: 64px !important;
        min-width: 64px !important;
        min-height: 64px !important;
        padding: 7px !important;
    }

    .kac-widget__launcher-icon {
        width: 48px !important;
        height: 48px !important;
    }

    .kac-widget__launcher-copy,
    .kac-widget__launcher-arrow {
        display: none !important;
    }

    body .kac-widget__header {
        min-height: 144px !important;
        padding: 20px 17px !important;
    }

    .kac-widget__logo {
        width: 74px !important;
        height: 62px !important;
    }

    body .kac-widget__header h2 {
        font-size: 26px !important;
    }

    body .kac-widget__lead,
    body .kac-widget__conversation {
        height: calc(100% - 144px) !important;
    }

    body .kac-widget__lead {
        padding: 22px 19px 25px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body .kac-widget__launcher,
    body .kac-widget__launcher::before,
    body .kac-widget__launcher::after,
    body .kac-widget__panel,
    body .kac-widget__header::after,
    .kac-widget__message {
        animation: none !important;
    }
}

/* KAPICO Concierge 0.4.0 message colour language */
body .kac-widget__message--visitor > div {
    border-color: var(--kac-gold) !important;
    background: var(--kac-gold) !important;
    color: #fff !important;
}

body .kac-widget__message--agent > div,
body .kac-widget__message--ai > div {
    border-color: var(--kac-onyx) !important;
    background: var(--kac-onyx) !important;
    color: #fff !important;
}

body .kac-widget__message--ai > div {
    border-left: 3px solid var(--kac-gold-light) !important;
}

/* KAPICO Concierge 0.4.3: named specialists and visible handovers */
body .kac-widget__conversation {
    grid-template-rows: auto minmax(0, 1fr) auto auto !important;
}

.kac-widget__handler[hidden] {
    display: none !important;
}

body .kac-widget__handler {
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    padding: 9px 18px !important;
    border-bottom: 1px solid rgba(150, 118, 45, .18) !important;
    background:
        linear-gradient(100deg, rgba(150, 118, 45, .09), transparent 68%),
        #fff !important;
}

.kac-widget__handler-mark {
    width: 34px !important;
    height: 34px !important;
    display: grid !important;
    place-items: center !important;
    flex: none !important;
    border: 1px solid rgba(150, 118, 45, .42) !important;
    border-radius: 50% !important;
    background: var(--kac-gold) !important;
    color: #fff !important;
    font: 600 17px/1 "Cormorant Garamond", Georgia, serif !important;
}

.kac-widget__handler > span:last-child {
    min-width: 0 !important;
    display: grid !important;
    gap: 2px !important;
}

.kac-widget__handler small {
    color: #8a7a55 !important;
    font: 700 8px/1.2 Montserrat, Arial, sans-serif !important;
    letter-spacing: .12em !important;
}

.kac-widget__handler strong {
    overflow: hidden !important;
    color: var(--kac-onyx) !important;
    font: 600 16px/1.15 "Cormorant Garamond", Georgia, serif !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.kac-widget__message-sender {
    max-width: 86% !important;
    margin: 0 6px 5px !important;
    color: #6f675f !important;
    font: 700 9px/1.25 Montserrat, Arial, sans-serif !important;
    letter-spacing: .025em !important;
}

.kac-widget__message--agent .kac-widget__message-sender,
.kac-widget__message--ai .kac-widget__message-sender {
    align-self: flex-start !important;
}

/* KAPICO Concierge 0.5.0: post-conversation feedback */
body .kac-widget__conversation {
    grid-template-rows: auto minmax(0, 1fr) auto auto auto !important;
}

.kac-widget__feedback[hidden] {
    display: none !important;
}

body .kac-widget__feedback {
    max-height: 245px !important;
    overflow-y: auto !important;
    display: grid !important;
    gap: 9px !important;
    padding: 14px 16px 16px !important;
    border-top: 1px solid rgba(150, 118, 45, .25) !important;
    background:
        radial-gradient(circle at 95% 0, rgba(150, 118, 45, .12), transparent 45%),
        #fffaf1 !important;
}

.kac-widget__feedback-eyebrow {
    margin: 0 !important;
    color: var(--kac-gold) !important;
    font-size: 8px !important;
    font-weight: 750 !important;
    letter-spacing: .15em !important;
}

.kac-widget__feedback > strong {
    color: var(--kac-onyx) !important;
    font: 600 19px/1.1 "Cormorant Garamond", Georgia, serif !important;
}

.kac-widget__feedback label > span {
    display: block !important;
    margin-bottom: 4px !important;
    color: #746d65 !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
}

body .kac-widget__feedback select,
body .kac-widget__feedback textarea {
    min-height: 37px !important;
    padding: 7px 9px !important;
    font-size: 10px !important;
}

body .kac-widget__feedback > button {
    min-height: 39px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: var(--kac-gold) !important;
    color: #fff !important;
    cursor: pointer !important;
    font-size: 9px !important;
    font-weight: 750 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body .kac-widget__feedback.is-complete {
    min-height: 85px !important;
    place-items: center !important;
    text-align: center !important;
}

body .kac-widget__feedback.is-complete strong {
    max-width: 280px !important;
    color: #5f4b20 !important;
    font: 600 17px/1.35 "Cormorant Garamond", Georgia, serif !important;
}

/* KAPICO Concierge 0.5.1: live presence and fluid typing */
body .kac-widget__conversation {
    grid-template-rows: auto minmax(0, 1fr) auto auto auto auto !important;
}

.kac-widget__status-dot.is-online {
    background: #56b77d !important;
    box-shadow: 0 0 0 5px rgba(86, 183, 125, .15), 0 0 16px rgba(86, 183, 125, .38) !important;
}

.kac-widget__status-dot.is-busy {
    background: var(--kac-gold-light) !important;
    box-shadow: 0 0 0 5px rgba(199, 168, 90, .14) !important;
}

.kac-widget__status-dot.is-break {
    background: #b79a68 !important;
    box-shadow: 0 0 0 5px rgba(183, 154, 104, .13) !important;
}

.kac-widget__status-dot.is-offline {
    background: #8d918f !important;
    box-shadow: 0 0 0 5px rgba(141, 145, 143, .12) !important;
}

.kac-widget__handler-status {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #746e67 !important;
    font-size: 9px !important;
    font-weight: 500 !important;
}

.kac-widget__handler-status[hidden] {
    display: none !important;
}

.kac-widget__handler-status i {
    width: 7px !important;
    height: 7px !important;
    display: block !important;
    border-radius: 50% !important;
    background: #8d918f !important;
}

.kac-widget__handler-status i.is-online {
    background: #4fb878 !important;
    box-shadow: 0 0 0 4px rgba(79, 184, 120, .13), 0 0 14px rgba(79, 184, 120, .3) !important;
    animation: kac-live-breathe 2.3s ease-in-out infinite;
}

.kac-widget__handler-status i.is-busy,
.kac-widget__handler-status i.is-break {
    background: var(--kac-gold-light) !important;
}

.kac-widget__typing[hidden] {
    display: none !important;
}

body .kac-widget__typing {
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 18px 7px !important;
    padding: 8px 12px !important;
    border: 1px solid rgba(150, 118, 45, .18) !important;
    border-radius: 18px 18px 18px 6px !important;
    background: rgba(255, 253, 249, .93) !important;
    box-shadow: 0 8px 24px rgba(28, 27, 26, .045) !important;
    color: #6c6254 !important;
    font-size: 10px !important;
}

.kac-typing-orbit {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.kac-typing-orbit i {
    width: 6px !important;
    height: 6px !important;
    display: block !important;
    border-radius: 50% !important;
    background: linear-gradient(145deg, var(--kac-gold-light), var(--kac-gold)) !important;
    animation: kac-typing-pearl 1.15s ease-in-out infinite;
}

.kac-typing-orbit i:nth-child(2) {
    animation-delay: .14s;
}

.kac-typing-orbit i:nth-child(3) {
    animation-delay: .28s;
}

@keyframes kac-typing-pearl {
    0%, 60%, 100% { opacity: .38; transform: translateY(0) scale(.82); }
    30% { opacity: 1; transform: translateY(-4px) scale(1); }
}

@keyframes kac-live-breathe {
    0%, 100% { transform: scale(.9); }
    50% { transform: scale(1.12); }
}

@media (prefers-reduced-motion: reduce) {
    .kac-widget__handler-status i.is-online,
    .kac-typing-orbit i {
        animation: none !important;
    }
}

/* 0.5.3 — customer quotation review and acceptance */
html.kac-quote-modal-open,
body.kac-quote-modal-open {
    overflow: hidden !important;
}

.kac-widget__quote-message {
    display: grid !important;
    gap: 7px !important;
    min-width: min(270px, 78vw) !important;
    padding: 16px !important;
    border: 1px solid rgba(150, 118, 45, .22) !important;
    background:
        radial-gradient(circle at 95% 0, rgba(199, 168, 90, .16), transparent 35%),
        #fffdf9 !important;
    color: var(--kac-onyx) !important;
}

.kac-widget__quote-message > span {
    color: var(--kac-gold) !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .13em !important;
}

.kac-widget__quote-message > strong {
    color: var(--kac-navy) !important;
    font: 600 21px/1.05 "Cormorant Garamond", Georgia, serif !important;
}

.kac-widget__quote-message > small {
    color: var(--kac-muted) !important;
    font-size: 9px !important;
}

.kac-widget__quote-message > b {
    color: var(--kac-gold) !important;
    font-size: 17px !important;
}

body .kac-widget__quote-message > button,
body .kac-widget__quote-message > a {
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 13px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: var(--kac-navy) !important;
    color: #fff !important;
    cursor: pointer !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.kac-widget-quote-modal[hidden] {
    display: none !important;
}

.kac-widget-quote-modal {
    position: fixed !important;
    z-index: 2147483600 !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    padding: 18px !important;
    background: rgba(7, 16, 30, .68) !important;
    -webkit-backdrop-filter: blur(22px) saturate(.72) !important;
    backdrop-filter: blur(22px) saturate(.72) !important;
    color: var(--kac-onyx) !important;
    font-family: Montserrat, "Helvetica Neue", Arial, sans-serif !important;
    box-sizing: border-box !important;
}

.kac-widget-quote-modal * {
    box-sizing: border-box !important;
}

.kac-widget-quote-card {
    position: relative !important;
    width: min(820px, 100%) !important;
    max-height: min(920px, calc(100vh - 36px)) !important;
    overflow: auto !important;
    padding: 33px !important;
    border: 1px solid rgba(150, 118, 45, .35) !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 95% 0, rgba(150, 118, 45, .13), transparent 27%),
        #fffdf9 !important;
    box-shadow: 0 38px 120px rgba(0, 0, 0, .46) !important;
    color: var(--kac-onyx) !important;
    animation: kac-panel-in .35s cubic-bezier(.16, 1, .3, 1) both;
}

body .kac-widget-quote-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    cursor: pointer !important;
    font-size: 25px !important;
    line-height: 1 !important;
}

.kac-widget-quote-card header {
    padding: 0 52px 21px 0 !important;
    border-bottom: 1px solid var(--kac-line) !important;
}

.kac-widget-quote-eyebrow {
    margin: 0 0 7px !important;
    color: var(--kac-gold) !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .17em !important;
}

.kac-widget-quote-card h2 {
    margin: 0 0 8px !important;
    color: var(--kac-navy) !important;
    font: 600 36px/1 "Cormorant Garamond", Georgia, serif !important;
}

.kac-widget-quote-reference {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    margin: 0 !important;
    color: var(--kac-muted) !important;
    font-size: 9px !important;
}

.kac-widget-quote-status {
    display: inline-flex !important;
    padding: 4px 8px !important;
    border-radius: 99px !important;
    background: rgba(150, 118, 45, .1) !important;
    color: #6a521f !important;
    font-size: 8px !important;
    font-weight: 800 !important;
}

.kac-widget-quote-status.is-accepted,
.kac-widget-quote-status.is-paid,
.kac-widget-quote-status.is-confirmed {
    background: rgba(50, 122, 85, .1) !important;
    color: #286544 !important;
}

.kac-widget-quote-amount {
    display: grid !important;
    gap: 2px !important;
    margin: 20px 0 !important;
    padding: 20px !important;
    border: 1px solid rgba(150, 118, 45, .22) !important;
    border-radius: 15px !important;
    background: var(--kac-sand) !important;
}

.kac-widget-quote-amount > span {
    color: var(--kac-gold) !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .15em !important;
}

.kac-widget-quote-amount > strong {
    color: var(--kac-navy) !important;
    font: 600 31px/1.1 "Cormorant Garamond", Georgia, serif !important;
}

.kac-widget-quote-amount > small {
    color: var(--kac-muted) !important;
    font-size: 9px !important;
}

.kac-widget-quote-overview {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 0 22px !important;
}

.kac-widget-quote-overview > div {
    padding: 11px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
}

.kac-widget-quote-overview dt {
    margin-bottom: 3px !important;
    color: var(--kac-muted) !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
}

.kac-widget-quote-overview dd {
    margin: 0 !important;
    color: var(--kac-onyx) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    overflow-wrap: anywhere !important;
}

.kac-widget-quote-description {
    margin: 0 0 22px !important;
    padding: 16px !important;
    border: 1px solid rgba(150, 118, 45, .18) !important;
    border-radius: 11px !important;
    background: #fff !important;
}

.kac-widget-quote-description h3 {
    margin: 0 0 7px !important;
    color: var(--kac-navy) !important;
    font: 600 22px/1.1 "Cormorant Garamond", Georgia, serif !important;
}

.kac-widget-quote-description p {
    margin: 0 !important;
    color: #5c564f !important;
    font-size: 11px !important;
    line-height: 1.65 !important;
    white-space: pre-wrap !important;
}

.kac-widget-quote-terms {
    display: grid !important;
    gap: 10px !important;
}

.kac-widget-quote-terms > h3 {
    margin: 0 0 2px !important;
    color: var(--kac-navy) !important;
    font: 600 25px/1.1 "Cormorant Garamond", Georgia, serif !important;
}

.kac-widget-quote-terms article {
    padding: 14px !important;
    border-left: 3px solid var(--kac-gold) !important;
    border-radius: 0 10px 10px 0 !important;
    background: #fff !important;
    box-shadow: 0 7px 24px rgba(15, 30, 54, .04) !important;
}

.kac-widget-quote-terms h4 {
    margin: 0 0 5px !important;
    color: var(--kac-navy) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

.kac-widget-quote-terms p {
    margin: 0 !important;
    color: #5c564f !important;
    font-size: 11px !important;
    line-height: 1.65 !important;
    white-space: pre-wrap !important;
}

.kac-widget-quote-attachment {
    display: inline-flex !important;
    margin: 18px 0 0 !important;
    color: var(--kac-gold) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

.kac-widget-quote-disclaimer {
    margin: 18px 0 !important;
    padding: 13px !important;
    border-radius: 10px !important;
    background: rgba(15, 30, 54, .055) !important;
    color: #565c66 !important;
    font-size: 9px !important;
    line-height: 1.6 !important;
}

.kac-widget-quote-evidence,
.kac-widget-quote-notice {
    margin: 17px 0 !important;
    padding: 15px !important;
    border: 1px solid rgba(50, 122, 85, .25) !important;
    border-radius: 11px !important;
    background: rgba(50, 122, 85, .07) !important;
    color: #285b40 !important;
}

.kac-widget-quote-evidence p {
    margin: 4px 0 !important;
    font-size: 10px !important;
}

.kac-widget-quote-evidence small {
    font-size: 8px !important;
    overflow-wrap: anywhere !important;
}

.kac-widget-payment {
    display: grid !important;
    gap: 13px !important;
    margin: 18px 0 !important;
    padding: 18px !important;
    border: 1px solid rgba(150, 118, 45, .34) !important;
    border-radius: 14px !important;
    background: linear-gradient(145deg, #fff, #fbf7ed) !important;
    color: var(--kac-onyx) !important;
}

.kac-widget-payment__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

.kac-widget-payment__header h3 {
    margin: 0 !important;
    color: var(--kac-navy) !important;
    font: 700 17px/1.2 Cormorant Garamond, Georgia, serif !important;
}

.kac-widget-payment__header span {
    color: #327a55 !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
}

.kac-widget-payment__test {
    margin: 0 !important;
    padding: 8px 10px !important;
    border-radius: 8px !important;
    background: #fff3cd !important;
    color: #6a4b00 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
}

.kac-widget-payment__balances {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 !important;
}

.kac-widget-payment__balances > div {
    padding: 10px !important;
    border: 1px solid rgba(15, 30, 54, .08) !important;
    border-radius: 9px !important;
    background: #fff !important;
}

.kac-widget-payment__balances dt,
.kac-widget-payment__balances dd {
    margin: 0 !important;
}

.kac-widget-payment__balances dt {
    color: #777068 !important;
    font-size: 8px !important;
    font-weight: 700 !important;
}

.kac-widget-payment__balances dd {
    margin-top: 3px !important;
    color: var(--kac-navy) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

.kac-widget-payment__prompt {
    margin: 0 !important;
    color: #58534e !important;
    font-size: 9px !important;
    line-height: 1.6 !important;
}

.kac-widget-payment__actions {
    display: grid !important;
    gap: 8px !important;
}

body .kac-widget-payment__actions button {
    min-height: 44px !important;
    padding: 10px 14px !important;
    border: 1px solid var(--kac-gold) !important;
    border-radius: 9px !important;
    background: var(--kac-gold) !important;
    color: #fff !important;
    cursor: pointer !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

body .kac-widget-payment__actions button:disabled {
    cursor: wait !important;
    opacity: .62 !important;
}

.kac-widget-payment__history {
    display: grid !important;
    gap: 6px !important;
}

.kac-widget-payment__history p {
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    border-radius: 8px !important;
    background: rgba(50, 122, 85, .07) !important;
    color: #285b40 !important;
    font-size: 8px !important;
}

.kac-widget-payment__history strong {
    text-align: right !important;
}

.kac-widget-payment__history a {
    flex: 0 0 100% !important;
    color: var(--kac-navy) !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

.kac-widget-payment__history p {
    flex-wrap: wrap !important;
}

.kac-widget-payment__paid {
    margin: 0 !important;
    padding: 12px !important;
    border-radius: 9px !important;
    background: rgba(50, 122, 85, .1) !important;
    color: #285b40 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

.kac-widget-quote-response {
    display: grid !important;
    gap: 13px !important;
    margin-top: 20px !important;
    padding: 20px !important;
    border: 1px solid rgba(150, 118, 45, .25) !important;
    border-radius: 14px !important;
    background: #fff !important;
}

.kac-widget-quote-response label > span {
    display: block !important;
    margin-bottom: 6px !important;
    color: #665f57 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
}

body .kac-widget-quote-response input[type="text"],
body .kac-widget-quote-response input:not([type]),
body .kac-widget-quote-response textarea {
    width: 100% !important;
    min-height: 43px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    font: 500 11px/1.5 Montserrat, Arial, sans-serif !important;
}

.kac-widget-quote-response textarea {
    resize: vertical !important;
}

.kac-widget-quote-confirm {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 13px !important;
    border-radius: 9px !important;
    background: var(--kac-sand) !important;
}

body .kac-widget-quote-confirm input {
    width: 19px !important;
    height: 19px !important;
    min-height: 19px !important;
    flex: none !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    accent-color: var(--kac-gold) !important;
}

.kac-widget-quote-confirm span {
    margin: 0 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
}

.kac-widget-quote-response > div {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

body .kac-widget-quote-response button,
body .kac-widget-quote-print {
    min-height: 41px !important;
    padding: 9px 14px !important;
    border: 1px solid var(--kac-line) !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: var(--kac-navy) !important;
    cursor: pointer !important;
    font-size: 9px !important;
    font-weight: 800 !important;
}

body .kac-widget-quote-response button.is-accept {
    border-color: var(--kac-gold) !important;
    background: var(--kac-gold) !important;
    color: #fff !important;
}

body .kac-widget-quote-response button.is-decline {
    color: #8b3d3d !important;
}

body .kac-widget-quote-response button:disabled {
    cursor: not-allowed !important;
    opacity: .48 !important;
}

body .kac-widget-quote-print {
    margin-top: 15px !important;
}

@media (max-width: 700px) {
    .kac-widget-quote-modal {
        padding: 0 !important;
    }

    .kac-widget-payment__balances {
        grid-template-columns: 1fr !important;
    }

    .kac-widget-quote-card {
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        padding: 25px 17px !important;
        border-radius: 0 !important;
    }

    .kac-widget-quote-card h2 {
        font-size: 30px !important;
    }

    .kac-widget-quote-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 430px) {
    .kac-widget-quote-overview {
        grid-template-columns: 1fr !important;
    }

    .kac-widget-quote-response > div button {
        width: 100% !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kac-widget-quote-card {
        animation: none !important;
    }
}

/* 0.6.1 — readable multi-service quotation */
.kac-widget__quote-message > span {
    font-size: 11px !important;
}

.kac-widget__quote-message > small,
.kac-widget-quote-reference,
.kac-widget-quote-amount > small {
    font-size: 12px !important;
}

body .kac-widget__quote-message > button {
    font-size: 13px !important;
}

.kac-widget-quote-eyebrow {
    font-size: 11px !important;
}

.kac-widget-quote-status {
    font-size: 11px !important;
}

.kac-widget-quote-amount > span,
.kac-widget-quote-overview dt {
    font-size: 11px !important;
}

.kac-widget-quote-overview dd {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.kac-widget-quote-services {
    display: grid !important;
    gap: 12px !important;
    margin: 0 0 23px !important;
}

.kac-widget-quote-services > h3 {
    margin: 0 !important;
    color: var(--kac-navy) !important;
    font: 700 27px/1.1 "Cormorant Garamond", Georgia, serif !important;
}

.kac-widget-quote-service {
    padding: 17px !important;
    border: 1px solid rgba(150, 118, 45, .2) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(15, 30, 54, .045) !important;
}

.kac-widget-quote-service > div {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid var(--kac-line) !important;
}

.kac-widget-quote-service > div strong {
    color: var(--kac-navy) !important;
    font-size: 14px !important;
}

.kac-widget-quote-service > div b {
    flex: none !important;
    color: var(--kac-gold) !important;
    font-size: 16px !important;
}

.kac-widget-quote-service > p {
    margin: 11px 0 0 !important;
    color: #4e4943 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    white-space: pre-wrap !important;
}

.kac-widget-quote-service .kac-widget-quote-service__deadline {
    color: var(--kac-navy) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.kac-widget-quote-service ul {
    display: grid !important;
    gap: 6px !important;
    margin: 12px 0 0 !important;
    padding: 12px 12px 12px 30px !important;
    border-radius: 9px !important;
    background: var(--kac-sand) !important;
    color: #4e4943 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

.kac-widget-quote-terms h4,
.kac-widget-quote-response label > span {
    font-size: 13px !important;
}

.kac-widget-quote-terms p,
.kac-widget-quote-description p,
.kac-widget-quote-confirm span {
    font-size: 13px !important;
}

.kac-widget-quote-terms__empty {
    padding: 13px !important;
    border-radius: 9px !important;
    background: #fff !important;
}

.kac-widget-quote-disclaimer,
.kac-widget-quote-evidence p,
.kac-widget-quote-evidence small {
    font-size: 12px !important;
}

body .kac-widget-quote-response input[type="text"],
body .kac-widget-quote-response input:not([type]),
body .kac-widget-quote-response textarea {
    font-size: 14px !important;
}

body .kac-widget-quote-response button,
body .kac-widget-quote-print {
    font-size: 12px !important;
}

@media (max-width: 430px) {
    .kac-widget-quote-service > div {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

/* 0.6.2 — visible payment diagnostics and contact confirmation */
.kac-widget-quote-alert {
    position: relative !important;
    z-index: 2 !important;
    margin: 0 52px 18px 0 !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(151, 47, 47, .25) !important;
    border-radius: 11px !important;
    background: #fff0f0 !important;
    color: #742626 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
}

.kac-widget-quote-alert.is-success {
    border-color: rgba(50, 122, 85, .28) !important;
    background: #eef8f2 !important;
    color: #285b40 !important;
}

.kac-widget-payment__contact {
    display: grid !important;
    gap: 10px !important;
    margin: 2px 0 !important;
    padding: 15px !important;
    border: 1px solid rgba(150, 118, 45, .22) !important;
    border-radius: 11px !important;
    background: #fff !important;
}

.kac-widget-payment__contact.is-ready {
    border-color: rgba(50, 122, 85, .25) !important;
    background: #fbfffc !important;
}

.kac-widget-payment__contact > strong {
    color: var(--kac-navy) !important;
    font-size: 14px !important;
}

.kac-widget-payment__contact > p,
.kac-widget-payment__contact > small {
    margin: 0 !important;
    color: #5d5750 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

.kac-widget-payment__contact > div {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.kac-widget-payment__contact label {
    display: grid !important;
    gap: 6px !important;
}

.kac-widget-payment__contact label > span {
    color: var(--kac-navy) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body .kac-widget-payment__contact input {
    width: 100% !important;
    min-height: 46px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(15, 30, 54, .18) !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: var(--kac-onyx) !important;
    font: 600 14px/1.3 Montserrat, "Helvetica Neue", Arial, sans-serif !important;
}

body .kac-widget-payment__contact input:focus {
    border-color: var(--kac-gold) !important;
    box-shadow: 0 0 0 3px rgba(150, 118, 45, .13) !important;
    outline: 0 !important;
}

body .kac-widget-payment__contact button {
    min-height: 44px !important;
    padding: 10px 14px !important;
    border: 1px solid var(--kac-navy) !important;
    border-radius: 9px !important;
    background: var(--kac-navy) !important;
    color: #fff !important;
    cursor: pointer !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body .kac-widget-payment__contact button:disabled {
    cursor: wait !important;
    opacity: .62 !important;
}

.kac-widget-payment__contact-required {
    margin: 0 !important;
    padding: 12px 14px !important;
    border-radius: 9px !important;
    background: #fff3cd !important;
    color: #624900 !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.55 !important;
}

.kac-widget-payment__header h3 {
    font-size: 22px !important;
}

.kac-widget-payment__header span,
.kac-widget-payment__test,
.kac-widget-payment__balances dt {
    font-size: 11px !important;
}

.kac-widget-payment__balances dd {
    font-size: 15px !important;
}

.kac-widget-payment__prompt,
.kac-widget-payment__history p {
    font-size: 12px !important;
}

body .kac-widget-payment__actions button {
    font-size: 13px !important;
}

@media (max-width: 700px) {
    .kac-widget-payment__contact > div {
        grid-template-columns: 1fr !important;
    }

    .kac-widget-quote-alert {
        margin-right: 48px !important;
    }
}

/* KAPICO Concierge v0.9.0 · simple customer quotation tables */
.kac-widget,
.kac-widget button,
.kac-widget input,
.kac-widget select,
.kac-widget textarea,
.kac-widget-quote-card {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

.kac-widget-quote-services--tables {
    display: grid;
    gap: 16px;
}

.kac-widget-quote-table-block {
    border: 1px solid #dedee2;
    border-radius: 10px;
    overflow: hidden;
    background: #ffffff;
}

.kac-widget-quote-table-block > h4 {
    margin: 0;
    padding: 12px 14px;
    background: #f2f2f4;
    color: #202123;
    font-size: 16px;
    font-weight: 700;
}

.kac-widget-quote-table-scroll {
    width: 100%;
    overflow-x: auto;
}

.kac-widget-quote-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
}

.kac-widget-quote-table th,
.kac-widget-quote-table td {
    padding: 10px 11px;
    border-right: 1px solid #e5e5e8;
    border-bottom: 1px solid #e5e5e8;
    text-align: left;
    vertical-align: top;
    font-size: 13px;
    line-height: 1.4;
}

.kac-widget-quote-table th {
    background: #fafafa;
    color: #343541;
    font-weight: 700;
    white-space: nowrap;
}

.kac-widget-quote-table td.is-total {
    font-weight: 700;
    white-space: nowrap;
}

.kac-widget-quote-table-notes {
    display: grid;
    gap: 7px;
    padding: 12px 14px;
    background: #fffdf7;
}

.kac-widget-quote-table-notes p {
    margin: 0;
    white-space: pre-wrap;
}

.kac-widget-quote-response .is-accept {
    background: #202123 !important;
    color: #ffffff !important;
    border-color: #202123 !important;
    font-weight: 700 !important;
}

.kac-widget-quote-legal {
    display: grid;
    gap: 9px;
    font-size: 11px;
    line-height: 1.55;
    color: #5f6368;
    border-top: 1px solid rgba(32,33,35,.12);
    padding-top: 14px;
}
.kac-widget-quote-legal p { margin: 0; }
.kac-widget-quote-legal small { display:block; padding-top:8px; border-top:1px solid rgba(32,33,35,.08); text-align:center; }

/* v0.11.0 · verified client access */
.kac-widget__verify-step,
.kac-widget__verify-form,
.kac-widget__otp-form {
    display: grid;
    gap: 13px;
}
.kac-widget__verify-step[hidden] { display: none !important; }
.kac-widget__verify-form label > span:first-child,
.kac-widget__otp-form label > span:first-child {
    display: block;
    margin-bottom: 5px;
    color: #5c5751;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.kac-widget__verify-copy {
    margin: 0 0 4px;
    color: #5c5751;
    font-size: 13px;
    line-height: 1.55;
}
.kac-widget__text-button {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--kac-navy);
    font: 600 12px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

/* KAPICO Concierge 0.11.2 — free new enquiry, secure existing-client sign-in */
body .kac-widget__panel {
    position: fixed !important;
    right: 26px !important;
    bottom: 26px !important;
    top: auto !important;
    height: min(700px, calc(100dvh - var(--kac-safe-top, 14px) - 26px)) !important;
    max-height: calc(100dvh - var(--kac-safe-top, 14px) - 26px) !important;
}

.kac-widget[dir="rtl"] .kac-widget__panel {
    right: auto !important;
    left: 26px !important;
}

.kac-widget__field-help {
    display: block;
    margin: -3px 0 2px;
    color: #77716a;
    font-size: 11px;
    line-height: 1.45;
}

/* v0.11.3 · returning-client access is visible before the new-enquiry form */
.kac-widget__returning-access {
    display: grid;
    gap: 7px;
    margin: -2px 0 14px;
}

.kac-widget__returning-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0 2px;
    color: #796129;
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.2;
    text-transform: uppercase;
}

.kac-widget__returning-secure {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #77716a;
    font-size: 8px;
    letter-spacing: .07em;
}

.kac-widget__returning-secure svg {
    width: 10px;
    height: 10px;
    fill: currentColor;
}

body .kac-widget__existing-signin {
    width: 100% !important;
    min-height: 72px !important;
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(150,118,45,.34) !important;
    border-radius: 14px !important;
    background:
        radial-gradient(circle at 100% 0, rgba(199,168,90,.14), transparent 44%),
        linear-gradient(145deg, #fffdf9 0%, #faf6ed 100%) !important;
    box-shadow: 0 8px 24px rgba(15,30,54,.06) !important;
    color: #0f1e36 !important;
    text-align: left !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

.kac-widget__returning-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    flex: none;
    border: 1px solid rgba(150,118,45,.28);
    border-radius: 50%;
    background: rgba(150,118,45,.09);
    color: #8a6c28;
}

.kac-widget__returning-icon svg {
    width: 17px;
    height: 17px;
    fill: currentColor;
}

.kac-widget__returning-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
    flex: 1 1 auto;
}

.kac-widget__returning-copy strong {
    color: #0f1e36;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.01em;
}

.kac-widget__returning-copy small {
    display: block;
    color: #6f6962;
    font-size: 9.5px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0;
    text-transform: none;
}

.kac-widget__returning-arrow {
    flex: none;
    color: #96762d;
    font-size: 19px;
    font-weight: 400;
    line-height: 1;
    transition: transform .2s ease;
}

body .kac-widget__existing-signin:hover,
body .kac-widget__existing-signin:focus {
    border-color: rgba(150,118,45,.65) !important;
    background:
        radial-gradient(circle at 100% 0, rgba(199,168,90,.2), transparent 46%),
        linear-gradient(145deg, #fffdf9 0%, #f7f0e1 100%) !important;
    box-shadow: 0 11px 28px rgba(15,30,54,.09) !important;
    color: #0f1e36 !important;
    transform: translateY(-1px);
}

body .kac-widget__existing-signin:hover .kac-widget__returning-arrow,
body .kac-widget__existing-signin:focus .kac-widget__returning-arrow {
    transform: translateX(3px);
}

.kac-widget__new-divider {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 1px 0 14px;
    color: #8a837b;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .11em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.kac-widget__new-divider::before,
.kac-widget__new-divider::after {
    content: "";
    height: 1px;
    flex: 1 1 auto;
    background: linear-gradient(90deg, transparent, rgba(28,27,26,.14));
}

.kac-widget__new-divider::after {
    background: linear-gradient(90deg, rgba(28,27,26,.14), transparent);
}

.kac-widget__quote-message.is-signup-request {
    border-color: rgba(150,118,45,.35) !important;
    background: linear-gradient(145deg, #fffdf9, #f7f1e3) !important;
}

@media (max-width: 520px) {
    .kac-widget__returning-access {
        margin-bottom: 12px;
    }

    body .kac-widget__existing-signin {
        min-height: 68px !important;
        gap: 10px !important;
        padding: 9px 10px !important;
        border-radius: 13px !important;
    }

    .kac-widget__returning-icon {
        width: 36px;
        height: 36px;
    }

    .kac-widget__returning-copy strong {
        font-size: 17px;
    }

    .kac-widget__returning-copy small {
        font-size: 9px;
    }

    .kac-widget__new-divider {
        margin-bottom: 12px;
    }
}

@media (max-width: 520px) {
    body .kac-widget__panel {
        position: fixed !important;
        top: var(--kac-safe-top, 8px) !important;
        right: 8px !important;
        bottom: 8px !important;
        left: 8px !important;
        width: auto !important;
        height: auto !important;
        max-height: none !important;
    }
}


/* KAPICO Travel Desk 0.11.5 — Kuwait-only secure mobile access */
.kac-widget__kuwait-phone {
    display: flex !important;
    align-items: stretch;
    width: 100%;
    border: 1px solid rgba(32,33,35,.18);
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}
.kac-widget__kuwait-prefix {
    display: inline-flex !important;
    align-items: center;
    padding: 0 12px;
    background: #f4f0e8;
    color: #0f1e36;
    font-weight: 700;
    letter-spacing: .02em;
    border-right: 1px solid rgba(32,33,35,.12);
}
.kac-widget__kuwait-phone input {
    flex: 1;
    min-width: 0;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.kac-widget__kuwait-phone:focus-within {
    border-color: rgba(15,30,54,.55);
    box-shadow: 0 0 0 2px rgba(15,30,54,.08);
}
.kac-widget__verify-form .kac-widget__field-help {
    display: block;
    margin-top: 7px;
    color: #6b655e;
    font-size: 11px;
    line-height: 1.45;
}


/* Secure client session controls */
.kac-widget__session-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px 12px;
    border-top: 1px solid rgba(15, 30, 54, 0.08);
}

.kac-widget__session-actions small {
    flex: 1;
    color: #6b7280;
    font-size: 11px;
    line-height: 1.35;
}

.kac-widget__signout {
    appearance: none;
    border: 1px solid rgba(15, 30, 54, 0.18);
    border-radius: 999px;
    background: #fff;
    color: #0f1e36;
    padding: 8px 12px;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.kac-widget__signout:hover,
.kac-widget__signout:focus-visible {
    border-color: #96762d;
    outline: none;
}

.kac-widget__signout:disabled {
    opacity: .55;
    cursor: wait;
}

@media (max-width: 520px) {
    .kac-widget__session-actions {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* KAPICO Travel Desk 0.12.1 — composer-safe conversation layout
 * The conversation previously accumulated explicit grid row definitions across
 * feature releases. Hidden optional rows (handler, typing, feedback) could
 * shift the visible message list/composer into the wrong grid tracks. A flex
 * column makes optional rows collapse naturally while keeping only messages
 * scrollable and the composer permanently visible.
 */
body .kac-widget__conversation {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

body .kac-widget__messages {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scroll-padding-block: 18px !important;
}

body .kac-widget__handler,
body .kac-widget__typing,
body .kac-widget__composer,
body .kac-widget__notice,
body .kac-widget__session-actions,
body .kac-widget__feedback {
    flex: 0 0 auto !important;
}

body .kac-widget__composer {
    position: relative !important;
    z-index: 4 !important;
    width: 100% !important;
    margin: 0 !important;
    box-shadow: 0 -8px 22px rgba(15, 30, 54, .045) !important;
}

body .kac-widget__notice,
body .kac-widget__session-actions {
    position: relative !important;
    z-index: 3 !important;
}

body .kac-widget__composer textarea {
    display: block !important;
    min-width: 0 !important;
}

@media (max-height: 690px) {
    body .kac-widget__header {
        min-height: 124px !important;
        padding-top: 17px !important;
        padding-bottom: 17px !important;
    }

    body .kac-widget__conversation {
        height: calc(100% - 124px) !important;
    }

    body .kac-widget__messages {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }
}


/* v0.12.3 — compact Travel Desk header ------------------------------------ */
body .kac-widget__header {
    min-height: 108px !important;
    padding: 14px 18px !important;
    align-items: center !important;
}

.kac-widget__header-copy {
    align-items: center !important;
    gap: 12px !important;
}

.kac-widget__logo {
    width: 64px !important;
    height: 50px !important;
}

.kac-widget__header-copy > div {
    padding-top: 0 !important;
}

.kac-widget__eyebrow {
    margin-bottom: 3px !important;
    font-size: 7.5px !important;
    letter-spacing: .17em !important;
}

body .kac-widget__header h2 {
    margin: 0 0 4px !important;
    font-size: 25px !important;
    line-height: 1 !important;
}

body .kac-widget__header p {
    font-size: 9.5px !important;
    line-height: 1.25 !important;
}

body .kac-widget__lead,
body .kac-widget__conversation {
    height: calc(100% - 108px) !important;
}

@media (max-width: 520px) {
    body .kac-widget__header {
        min-height: 102px !important;
        padding: 12px 15px !important;
    }

    .kac-widget__logo {
        width: 59px !important;
        height: 46px !important;
    }

    body .kac-widget__header h2 {
        font-size: 23px !important;
    }

    body .kac-widget__lead,
    body .kac-widget__conversation {
        height: calc(100% - 102px) !important;
    }
}

@media (max-height: 690px) {
    body .kac-widget__header {
        min-height: 92px !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    .kac-widget__logo {
        width: 56px !important;
        height: 43px !important;
    }

    body .kac-widget__lead,
    body .kac-widget__conversation {
        height: calc(100% - 92px) !important;
    }
}
