
:root{
    --navy:#080e48;
    --gold:#bc9844;
    --paper:#ffffff;
    --bg:#f4f6fa;
    --ink:#172033;
    --muted:#747b89;
    --line:#e3e7ef;
    --user:#e9eefc;
    --shadow:0 18px 55px rgba(8,14,72,.12);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink)}
body{display:flex;justify-content:center}
button,textarea{font:inherit}
.at-direct{
    width:100%;
    max-width:760px;
    height:100dvh;
    background:#fff;
    display:grid;
    grid-template-rows:auto 1fr auto auto;
    overflow:hidden;
}
.at-direct-head{
    min-height:66px;
    padding:max(11px,env(safe-area-inset-top)) 14px 10px;
    display:flex;
    align-items:center;
    gap:10px;
    border-bottom:1px solid var(--line);
    background:#fff;
    z-index:4;
}
.at-direct-avatar{
    width:44px;height:44px;border-radius:50%;
    border:1px solid #eadfc4;background:#fff;
    display:grid;place-items:center;overflow:hidden;
    box-shadow:0 2px 8px rgba(8,14,72,.08);
    flex:0 0 auto;
}
.at-direct-avatar img{width:100%;height:100%;object-fit:contain;padding:4px}
.at-direct-avatar span{font-weight:900;color:var(--navy)}
.at-direct-identity{min-width:0;flex:1}
.at-direct-identity strong{display:block;font-size:16px;font-weight:900;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.at-direct-identity small{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;margin-top:2px}
.at-direct-identity i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.12)}
.at-direct-actions{display:flex;align-items:center;gap:5px}
.at-lang{border:1px solid var(--line);background:#fff;color:#667085;border-radius:9px;padding:5px 6px;font-size:10px;font-weight:900;cursor:pointer}
.at-lang.active{background:var(--navy);border-color:var(--navy);color:#fff}
.at-secure{border:1px solid var(--line);border-radius:999px;padding:6px 8px;font-size:10px;font-weight:800;color:#536074;white-space:nowrap}
.at-direct-stream{
    overflow-y:auto;
    padding:14px 12px 22px;
    background:
        radial-gradient(circle at 20% 10%,rgba(188,152,68,.045),transparent 26%),
        radial-gradient(circle at 85% 80%,rgba(8,14,72,.035),transparent 28%),
        #f7f8fb;
    scrollbar-width:thin;
}
.at-direct-day{
    width:max-content;margin:0 auto 14px;
    border:1px solid #edf0f5;background:#fff;
    border-radius:999px;padding:5px 10px;
    color:#737b8b;font-size:11px;font-weight:800;
}
.at-direct-row{display:flex;margin:8px 0}
.at-direct-row.user{justify-content:flex-end}
.at-direct-bubble{
    max-width:88%;
    padding:10px 12px 7px;
    border-radius:16px;
    background:#fff;
    box-shadow:0 1px 3px rgba(8,14,72,.08);
    font-size:15px;
    line-height:1.42;
    white-space:pre-wrap;
    word-break:break-word;
}
.at-direct-row.bot .at-direct-bubble{border-top-left-radius:5px}
.at-direct-row.user .at-direct-bubble{
    background:var(--user);
    border-top-right-radius:5px;
}
.at-direct-time{
    display:block;
    text-align:right;
    color:#8d95a5;
    font-size:9px;
    line-height:1;
    margin-top:5px;
}
.at-direct-bubble strong{font-weight:900;color:#111827}
.at-direct-bubble a{color:#765b1f;font-weight:800}
.at-direct-chips,.at-direct-smart{
    display:flex;flex-wrap:wrap;gap:7px;
    padding:2px 0 4px;
}
.at-direct-chips button,.at-direct-smart button{
    border:1px solid #dfe3eb;background:#fff;
    color:var(--navy);border-radius:999px;
    padding:8px 10px;font-size:12px;font-weight:800;cursor:pointer;
}
.at-direct-smart{padding:7px 10px;border-top:1px solid #eef1f5;background:#fff}
.at-direct-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:9px;
    padding:9px 11px;
    border-radius:10px;
    background:var(--navy);
    color:#fff !important;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
}
.at-direct-cta.secondary{background:#f4efe2;color:#765b1f !important;border:1px solid #e5d7ad}
.at-direct-bubble.typing{display:flex;gap:5px;align-items:center;min-width:50px}
.at-direct-bubble.typing span{width:7px;height:7px;border-radius:50%;background:#9199a9;animation:atDirectDot 1.1s infinite ease-in-out}
.at-direct-bubble.typing span:nth-child(2){animation-delay:.15s}
.at-direct-bubble.typing span:nth-child(3){animation-delay:.3s}
@keyframes atDirectDot{0%,80%,100%{opacity:.35;transform:scale(.75)}40%{opacity:1;transform:scale(1)}}
.at-direct-notice{
    padding:8px 12px;background:#fff8e7;border-top:1px solid #ead9a8;color:#6b5625;font-size:11px;line-height:1.4;
}
.at-direct-footer{background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.at-direct-private{text-align:center;color:#939aa8;font-size:9px;padding:7px 8px 2px}
.at-direct-compose{display:flex;align-items:flex-end;gap:8px;padding:7px 10px}
.at-direct-compose textarea{
    flex:1;min-height:44px;max-height:116px;
    resize:none;border:1px solid #d7dce6;border-radius:23px;
    padding:11px 14px;outline:none;font-size:15px;color:#24293a;background:#fff;
}
.at-direct-compose textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(188,152,68,.12)}
.at-direct-compose button{
    width:44px;height:44px;border:0;border-radius:50%;
    background:var(--gold);color:var(--navy);
    font-size:19px;font-weight:900;cursor:pointer;flex:0 0 auto;
}
.at-direct-compose button:disabled{opacity:.55;cursor:wait}
.at-direct-privacy{text-align:center;color:#9aa1ad;font-size:8.5px;padding:0 12px 7px}
.at-direct-privacy a{color:#765b1f}
@media(max-width:759px){
    .at-direct{max-width:none}
    .at-secure{padding:6px 7px}
    .at-direct-bubble{max-width:92%;font-size:15px}
}
@media(min-width:760px){
    body{padding:20px}
    .at-direct{
        height:calc(100dvh - 40px);
        border:1px solid var(--line);
        border-radius:22px;
        box-shadow:var(--shadow);
    }
}


/* ASESOR_TURISMO_DIRECT_R1R1_MOBILE_FIX */
.at-direct-greeting-bubble{
    white-space:normal;
    max-width:88%;
}
@media(max-width:759px){
    .at-direct-head{
        min-height:62px;
        padding-left:12px;
        padding-right:10px;
        gap:9px;
    }
    .at-direct-avatar{
        width:42px;
        height:42px;
    }
    .at-direct-identity strong{
        font-size:15px;
    }
    .at-direct-identity small{
        font-size:11px;
    }
    .at-direct-actions{
        gap:4px;
    }
    .at-lang{
        padding:5px 7px;
    }
    .at-secure{
        padding:6px 7px;
        font-size:9.5px;
    }
    .at-direct-stream{
        padding-top:12px;
        padding-left:10px;
        padding-right:10px;
    }
    .at-direct-greeting-bubble{
        max-width:92%;
        font-size:15px;
        line-height:1.42;
    }
    .at-direct-chips{
        gap:6px;
    }
    .at-direct-chips button{
        font-size:11.5px;
        padding:8px 10px;
    }
    .at-direct-private{
        padding-top:6px;
    }
    .at-direct-privacy{
        line-height:1.25;
        padding-bottom:6px;
    }
}
/* /ASESOR_TURISMO_DIRECT_R1R1_MOBILE_FIX */


/* ASESOR_TURISMO_DIRECT_R1R3_CLEAN_CHAT */
.at-direct-bubble{
    box-shadow:0 1px 2px rgba(8,14,72,.06);
}
.at-direct-row.bot .at-direct-bubble{
    max-width:86%;
}
.at-direct-row.user .at-direct-bubble{
    max-width:82%;
}
.at-direct-notice{
    border-top:0;
    border-bottom:1px solid #ead9a8;
    text-align:center;
    font-weight:700;
}
@media(max-width:759px){
    .at-direct-row{
        margin:6px 0;
    }
    .at-direct-row.bot .at-direct-bubble{
        max-width:90%;
    }
    .at-direct-row.user .at-direct-bubble{
        max-width:86%;
    }
    .at-direct-bubble{
        padding:9px 11px 7px;
        font-size:14.5px;
        line-height:1.38;
    }
}
/* /ASESOR_TURISMO_DIRECT_R1R3_CLEAN_CHAT */


/* ASESOR_TURISMO_DIRECT_R1R4_READABLE_MESSAGES */
.at-direct-row.bot .at-direct-bubble strong{
    display:inline;
    color:#080e48;
}
.at-direct-row.bot .at-direct-bubble{
    letter-spacing:-.005em;
}
@media(max-width:759px){
    .at-direct-row.bot .at-direct-bubble{
        max-width:88%;
        line-height:1.36;
    }
}
/* /ASESOR_TURISMO_DIRECT_R1R4_READABLE_MESSAGES */


/* ASESOR_TURISMO_DIRECT_R1R5_INLINE_AGENDA_PRICE */
.at-direct-cta{
    border:0;
    cursor:pointer;
}
.at-direct-booking-row{
    width:100%;
}
.at-direct-booking-card{
    width:min(100%,560px);
    background:#fff;
    border:1px solid #e1e5ec;
    border-radius:17px;
    box-shadow:0 4px 18px rgba(8,14,72,.08);
    padding:13px;
}
.at-book-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding-bottom:10px;
    border-bottom:1px solid #eef1f5;
}
.at-book-head strong{
    display:block;
    color:var(--navy);
    font-size:15px;
}
.at-book-head small{
    display:block;
    color:var(--muted);
    margin-top:3px;
    font-size:10px;
}
.at-book-close{
    width:29px;
    height:29px;
    border:0;
    border-radius:50%;
    background:#f3f5f8;
    color:#667085;
    font-size:20px;
    line-height:1;
    cursor:pointer;
}
.at-book-loading,.at-book-error,.at-book-calendar-loading{
    padding:18px 8px;
    text-align:center;
    color:#7a8292;
    font-size:12px;
}
.at-book-error,.at-book-inline-error{
    color:#b42318;
}
.at-book-field{
    margin-top:11px;
}
.at-book-field label{
    display:block;
    margin-bottom:5px;
    color:#41495a;
    font-weight:800;
    font-size:10px;
}
.at-book-input{
    width:100%;
    box-sizing:border-box;
    border:1px solid #dce1e9;
    border-radius:10px;
    background:#fff;
    color:#202637;
    padding:9px 10px;
    font:inherit;
    font-size:12px;
    outline:none;
}
.at-book-input:focus{
    border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(188,152,68,.1);
}
.at-book-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
}
.at-book-calendar{
    margin-top:12px;
    border:1px solid #e5e8ee;
    border-radius:13px;
    padding:10px;
}
.at-book-monthbar{
    display:grid;
    grid-template-columns:34px 1fr 34px;
    align-items:center;
    text-align:center;
    gap:6px;
}
.at-book-monthbar strong{
    color:var(--navy);
    text-transform:capitalize;
    font-size:12px;
}
.at-book-monthbar button{
    border:0;
    border-radius:8px;
    background:#f5f6f8;
    color:var(--navy);
    height:31px;
    font-weight:900;
    cursor:pointer;
}
.at-book-weekdays,.at-book-days{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:4px;
}
.at-book-weekdays{
    margin:9px 0 5px;
}
.at-book-weekdays span{
    text-align:center;
    color:#949baa;
    font-size:8px;
    font-weight:800;
}
.at-book-day{
    aspect-ratio:1;
    min-width:0;
    border:0;
    border-radius:9px;
    background:#f5f6f8;
    color:#9aa1ad;
    display:grid;
    place-items:center;
    position:relative;
    font-size:11px;
    cursor:default;
}
.at-book-day.available{
    background:#f9f6ec;
    color:var(--navy);
    cursor:pointer;
    font-weight:900;
}
.at-book-day.available i{
    position:absolute;
    bottom:4px;
    width:4px;
    height:4px;
    border-radius:50%;
    background:#22c55e;
}
.at-book-day.available.selected{
    background:var(--navy);
    color:#fff;
}
.at-book-day.blank{
    background:transparent;
}
.at-book-days .at-book-calendar-loading{
    grid-column:1/-1;
}
.at-book-slots{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.at-book-slot{
    border:1px solid #dfe3eb;
    background:#fff;
    color:var(--navy);
    border-radius:9px;
    padding:7px 9px;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
}
.at-book-slot.selected{
    background:var(--navy);
    border-color:var(--navy);
    color:#fff;
}
.at-book-empty{
    width:100%;
    padding:10px;
    border:1px dashed #dce1e8;
    border-radius:10px;
    text-align:center;
    color:#858d9c;
    font-size:10px;
}
.at-book-details{
    margin-top:10px;
    padding-top:2px;
}
.at-book-consent{
    display:flex;
    align-items:flex-start;
    gap:7px;
    margin:11px 0;
    color:#62697a;
    font-size:9px;
    line-height:1.45;
}
.at-book-confirm{
    width:100%;
    border:0;
    border-radius:10px;
    background:var(--gold);
    color:var(--navy);
    padding:11px 12px;
    font-weight:900;
    font-size:12px;
    cursor:pointer;
}
.at-book-confirm:disabled{
    opacity:.5;
    cursor:not-allowed;
}
.at-book-inline-error{
    padding-top:8px;
    font-size:10px;
    font-weight:800;
    text-align:center;
}
.at-book-success{
    text-align:center;
    padding:13px 7px 9px;
}
.at-book-success-icon{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#ecfdf3;
    color:#087242;
    display:grid;
    place-items:center;
    margin:0 auto 9px;
    font-size:24px;
    font-weight:900;
}
.at-book-success strong{
    display:block;
    color:var(--navy);
    font-size:16px;
}
.at-book-success p{
    margin:7px 0 4px;
    font-size:14px;
    font-weight:900;
}
.at-book-success small{
    color:#747b89;
}
.at-book-success div{
    margin-top:8px;
    color:#4f5969;
    font-size:11px;
}
@media(max-width:520px){
    .at-direct-booking-card{
        width:100%;
        border-radius:15px;
        padding:11px;
    }
    .at-book-grid{
        grid-template-columns:1fr;
        gap:0;
    }
    .at-book-day{
        border-radius:7px;
    }
}
/* /ASESOR_TURISMO_DIRECT_R1R5_INLINE_AGENDA_PRICE */
