/* Veřejný chat Stodoly Lesůňky – samostatné styly, ostatní části webu nemění. */
.stodola-chat {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1200;
    font-family: var(--sans, Arial, sans-serif);
    color: var(--ink, #2b2620);
}

.stodola-chat button,
.stodola-chat textarea,
.stodola-chat input { font: inherit; }

.stodola-chat__launcher {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 20px;
    border: 0;
    border-radius: 999px;
    background: var(--candle, #cc9a3e);
    color: var(--barn, #241e17);
    font-weight: 700;
    box-shadow: 0 12px 34px rgba(36,30,23,.28);
    cursor: pointer;
    transition: transform .2s ease, background .2s ease;
}
.stodola-chat__launcher:hover { transform: translateY(-2px); background: var(--candle-soft, #e7c77c); }
.stodola-chat__launcher-icon {
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: var(--barn, #241e17);
    color: var(--candle-soft, #e7c77c);
}
.stodola-chat.is-open .stodola-chat__launcher { display: none; }

.stodola-chat__panel {
    position: relative;
    width: min(390px, calc(100vw - 28px));
    height: min(650px, calc(100vh - 34px));
    background: #fffdf8;
    border: 1px solid rgba(36,30,23,.14);
    border-radius: 14px;
    box-shadow: 0 22px 60px rgba(36,30,23,.32);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.stodola-chat__panel[hidden] { display: none; }

.stodola-chat__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    background: var(--barn, #241e17);
    color: #fff;
}
.stodola-chat__header strong {
    display: block;
    color: #fff;
    font-family: var(--serif, Georgia, serif);
    font-size: 1.08rem;
}
.stodola-chat__header span { display: block; color: rgba(255,255,255,.68); font-size: .75rem; margin-top: 1px; }
.stodola-chat__close,
.stodola-chat__contact-close {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    color: inherit;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
}

.stodola-chat__messages {
    flex: 1;
    min-height: 190px;
    overflow-y: auto;
    padding: 17px;
    background: linear-gradient(180deg, #f8f3e9 0%, #fffdf8 100%);
}
.stodola-chat__message {
    width: fit-content;
    max-width: 86%;
    padding: 11px 13px;
    margin: 0 0 10px;
    border-radius: 13px;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-size: .9rem;
    line-height: 1.48;
}
.stodola-chat__message--assistant {
    background: #fff;
    border: 1px solid rgba(36,30,23,.1);
    border-bottom-left-radius: 4px;
    box-shadow: 0 3px 10px rgba(36,30,23,.05);
}
.stodola-chat__message--user {
    margin-left: auto;
    background: var(--moss, #656f4c);
    color: #fff;
    border-bottom-right-radius: 4px;
}
.stodola-chat__message.is-temporary { color: #746a5d; font-style: italic; }

.stodola-chat__quick {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 9px 13px 5px;
    background: #fffdf8;
}
.stodola-chat__quick button {
    flex: 0 0 auto;
    padding: 7px 10px;
    border: 1px solid rgba(101,111,76,.35);
    border-radius: 999px;
    background: transparent;
    color: var(--moss-dark, #454c34);
    font-size: .75rem;
    cursor: pointer;
}
.stodola-chat__quick button:hover { background: rgba(101,111,76,.09); }

.stodola-chat__form {
    display: grid;
    grid-template-columns: 1fr 43px;
    align-items: end;
    gap: 8px;
    padding: 9px 13px;
    background: #fffdf8;
}
.stodola-chat__form textarea {
    width: 100%;
    min-height: 43px;
    max-height: 104px;
    resize: none;
    padding: 11px 12px;
    border: 1px solid rgba(36,30,23,.2);
    border-radius: 10px;
    background: #fff;
    color: var(--ink, #2b2620);
    outline: none;
}
.stodola-chat__form textarea:focus { border-color: var(--candle, #cc9a3e); box-shadow: 0 0 0 3px rgba(204,154,62,.13); }
.stodola-chat__form > button {
    width: 43px;
    height: 43px;
    border: 0;
    border-radius: 10px;
    background: var(--candle, #cc9a3e);
    color: var(--barn, #241e17);
    font-weight: 800;
    cursor: pointer;
}
.stodola-chat__form.is-busy > button { opacity: .55; cursor: wait; }

.stodola-chat__contact-toggle {
    margin: 0 13px 4px;
    padding: 9px 12px;
    border: 1px solid var(--brick, #93502f);
    border-radius: 8px;
    background: transparent;
    color: var(--brick, #93502f);
    font-weight: 700;
    cursor: pointer;
}
.stodola-chat__note {
    margin: 0;
    padding: 2px 14px 12px;
    color: #796f63;
    font-size: .67rem;
    line-height: 1.35;
    text-align: center;
}

.stodola-chat__contact {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 17px;
    overflow-y: auto;
    background: #fffdf8;
}
.stodola-chat__contact[hidden] { display: none; }
.stodola-chat__contact-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2px; }
.stodola-chat__contact-heading strong { font-family: var(--serif, Georgia, serif); font-size: 1.2rem; }
.stodola-chat__contact-close { background: rgba(36,30,23,.08); color: var(--barn, #241e17); }
.stodola-chat__contact input[type="text"],
.stodola-chat__contact input[type="tel"],
.stodola-chat__contact input[type="email"],
.stodola-chat__contact textarea {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid rgba(36,30,23,.2);
    border-radius: 8px;
    background: #fff;
    color: var(--ink, #2b2620);
    outline: none;
}
.stodola-chat__contact textarea { resize: vertical; min-height: 105px; }
.stodola-chat__contact input:focus,
.stodola-chat__contact textarea:focus { border-color: var(--candle, #cc9a3e); box-shadow: 0 0 0 3px rgba(204,154,62,.13); }
.stodola-chat__contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.stodola-chat__consent { display: flex; align-items: flex-start; gap: 8px; font-size: .72rem; line-height: 1.35; color: #6e655a; }
.stodola-chat__consent input { margin-top: 2px; }
.stodola-chat__contact-submit {
    padding: 11px 14px;
    border: 0;
    border-radius: 8px;
    background: var(--candle, #cc9a3e);
    color: var(--barn, #241e17);
    font-weight: 800;
    cursor: pointer;
}
.stodola-chat__contact-submit:disabled { opacity: .6; cursor: wait; }
.stodola-chat__contact-status { min-height: 22px; font-size: .78rem; line-height: 1.4; }
.stodola-chat__contact-status.is-success { color: #3f6b3e; }
.stodola-chat__contact-status.is-error { color: #9a3d2c; }
.stodola-chat__contact-status a { text-decoration: underline; font-weight: 700; }
.stodola-chat__hp { position: absolute !important; left: -10000px !important; opacity: 0 !important; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

@media (max-width: 560px) {
    .stodola-chat { right: 10px; bottom: 10px; }
    .stodola-chat__panel { width: calc(100vw - 20px); height: calc(100dvh - 20px); border-radius: 12px; }
    .stodola-chat__launcher { min-height: 50px; padding: 0 17px; }
    .stodola-chat__contact-grid { grid-template-columns: 1fr; }
}
