@font-face{font-family:Effra;src:url('/fonts/fio-effra.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#fff;color:#282828;font:17px/1.5 Effra,Arial,sans-serif}button,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button,textarea{outline-offset:4px}.chat{display:flex;flex-direction:column;width:100%;height:100dvh;padding:0 48px}header{display:flex;align-items:center;justify-content:space-between;padding:26px 0;flex-shrink:0}h1{font-size:32px;font-weight:400;letter-spacing:-1px;margin:0}h1 span{color:#c1a94b}#reset{border:0;background:none;font-size:15px;color:#777;padding:10px}#messages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:18px;padding:24px 0;width:100%;max-width:900px;margin:auto}.bubble{padding:16px 22px;border-radius:20px;max-width:80%;white-space:pre-wrap;overflow-wrap:anywhere;flex-shrink:0}.assistant{align-self:flex-start;background:#c1a94b;color:#222;border-bottom-left-radius:5px}.user{align-self:flex-end;background:#f1f1f1;color:#282828;border-bottom-right-radius:5px}.sources{display:block;font-size:12px;margin-top:12px;color:#48402b}.composer{width:100%;max-width:900px;margin:0 auto;padding:16px 0 calc(20px + env(safe-area-inset-bottom));flex-shrink:0}#access{font-size:13px;color:#777;min-height:20px;margin-bottom:8px}#access:empty{display:none}form{display:flex;gap:16px;align-items:center;background:#f7f7f7;border-radius:24px;padding:12px 14px 12px 22px}textarea{min-width:0;flex:1;background:none;border:0;resize:none;max-height:140px;min-height:30px;padding:4px 0;color:#282828}#send{width:42px;height:42px;border:0;border-radius:50%;background:#c1a94b;color:#222;font-size:26px;flex-shrink:0}.preview{display:block;text-align:center;font-size:12px;color:#999;margin-top:9px}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}@media(max-width:600px){.chat{padding:0 20px}header{padding:18px 0}h1{font-size:28px}#messages{padding:16px 0}.bubble{max-width:92%;padding:14px 18px}.composer{padding-top:12px}form{gap:10px;padding-left:18px}}
.fio-message{display:flex;align-items:flex-end;gap:12px;max-width:85%;flex-shrink:0;align-self:flex-start}.fio-message .assistant{max-width:none;min-width:0}.fio-avatar{width:40px;height:40px;flex:0 0 40px;border-radius:50%;object-fit:cover;background:#fff}#send{display:flex;align-items:center;justify-content:center}#send img{display:block;width:20px;height:20px;object-fit:contain}@media(max-width:600px){.fio-message{max-width:95%;gap:9px}.fio-avatar{width:34px;height:34px;flex-basis:34px}}
#message:focus{outline:none}#chat-form:focus-within{box-shadow:0 0 0 1px #e3ddca}#send img{width:19px;height:19px;transform:translate(-1px,1px)}
.fio-message{min-width:0;max-width:min(85%,660px)}.fio-message .assistant{flex:0 1 auto;min-width:0;max-width:calc(100% - 52px);white-space:pre-wrap;overflow-wrap:anywhere}.bubble{animation:bubble-in .22s ease-out both}.fio-message .is-typing{display:flex;align-items:center;gap:7px;padding:19px 22px;min-height:50px}.typing-dot{width:7px;height:7px;border-radius:50%;background:#665722;animation:typing-pulse 1.15s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typing-pulse{0%,70%,100%{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-4px)}}@keyframes bubble-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.fio-message{max-width:95%}.fio-message .assistant{max-width:calc(100% - 43px)}}@media(prefers-reduced-motion:reduce){.bubble,.typing-dot{animation:none}.typing-dot{opacity:.65}}
.fio-message .is-typing{background:#e8e7ed}.typing-dot{background:#96959b}
.fio-brand{display:flex;align-items:center;gap:18px;min-width:0}.fio-powered{display:flex;align-items:center;gap:9px;padding-left:18px;border-left:1px solid #e9e9e9}.fio-powered>span:first-child{font-size:11px;color:#888;white-space:nowrap}.fio-family-logo{position:relative;display:block;width:112px;height:54px;overflow:hidden;flex-shrink:0}.fio-family-logo img{position:absolute;width:230px;height:230px;max-width:none;left:-59px;top:-88px;object-fit:contain}@media(max-width:600px){.fio-brand{gap:10px}.fio-powered{gap:5px;padding-left:10px;flex-direction:column;align-items:center}.fio-powered>span:first-child{font-size:9px;line-height:1}.fio-family-logo{width:90px;height:43px}.fio-family-logo img{width:184px;height:184px;left:-47px;top:-70px}#reset{font-size:13px;padding:8px 0}}
.fio-powered{gap:7px;padding-left:14px}.fio-family-logo{width:88px;height:42px}.fio-family-logo img{width:180px;height:180px;left:-46px;top:-69px}#reset{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #e2dfd8;border-radius:12px;background:#fff;color:#68635b;font-size:14px;padding:10px 14px;white-space:nowrap}#reset svg{width:17px;height:17px;flex-shrink:0}#reset:not(:disabled):hover{background:#faf9f6;border-color:#c1a94b}@media(max-width:600px){.fio-brand{gap:8px}.fio-powered{padding-left:8px;gap:4px}.fio-family-logo{width:68px;height:33px}.fio-family-logo img{width:140px;height:140px;left:-36px;top:-54px}#reset{font-size:12px;padding:9px 10px;gap:5px}#reset svg{width:15px;height:15px}}@media(max-width:359px){.chat{padding:0 14px}#reset{font-size:11px;padding:9px 7px}.fio-powered>span:first-child{font-size:8px}.fio-family-logo{width:58px;height:28px}.fio-family-logo img{width:120px;height:120px;left:-31px;top:-46px}}

.message-stack{display:flex;flex-direction:column;min-width:0;flex-shrink:0;gap:4px}.message-stack .bubble{max-width:100%}.assistant-stack{flex:0 1 auto;max-width:calc(100% - 52px)}.fio-message .assistant-stack .assistant{max-width:100%}.user-stack{align-self:flex-end;max-width:80%;align-items:flex-end}.message-time{display:block;font-size:10px;line-height:1.3;color:#999;padding:0 4px;white-space:nowrap}.assistant-stack .message-time{align-self:flex-start}.fio-message:has(.message-time) .fio-avatar{margin-bottom:17px}@media(max-width:600px){.assistant-stack{max-width:calc(100% - 43px)}.user-stack{max-width:92%}}

.fio-options{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start;width:calc(85% - 52px);max-width:608px;margin-left:52px}.fio-choice{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border:1px solid #dad7ce;border-radius:20px;background:#fff;color:#403c31;font-size:14px;line-height:1.3;max-width:100%;text-align:left;transition:background .15s,border-color .15s}.fio-choice:hover:not(:disabled){border-color:#c1a94b;background:#faf8ef}.fio-choice:focus-visible{outline:2px solid #c1a94b;outline-offset:3px}.fio-choice.featured{flex-basis:100%;justify-content:flex-start;border-color:#c1a94b;background:#f7f2de;padding:13px 16px;font-size:16px}.choice-icon{display:flex;flex-shrink:0;color:#a28a30}.choice-icon svg{width:22px;height:22px}.fio-recommendations{display:flex;flex-direction:column;gap:12px;list-style:none;align-self:flex-start;width:calc(85% - 52px);max-width:608px;margin:0 0 0 52px;padding:0}.fio-recommendation{padding:18px;border:1px solid #e7e2d2;border-radius:18px;background:#fff}.fio-recommendation:first-child{border-color:#c1a94b;background:#fcfaf3}.recommendation-rank{font-size:11px;color:#8a742a}.fio-recommendation h2{font-size:19px;font-weight:400;margin:5px 0 10px}.fio-recommendation ul{padding-left:18px;margin:0 0 12px;font-size:14px}.recommendation-caution{font-size:12px;color:#716a56;margin:8px 0}.fio-recommendation .fio-choice{margin-top:5px}.recommendation-note{font-size:11px;color:#999;align-self:flex-start;max-width:608px;width:calc(85% - 52px);margin-left:52px}@media(max-width:600px){.fio-options,.fio-recommendations,.recommendation-note{width:calc(95% - 43px);margin-left:43px}.fio-choice{font-size:13px;padding:9px 12px}.fio-choice.featured{font-size:14px}.fio-recommendation{padding:15px}}
.recommendation-photo{display:block;width:calc(100% + 36px);height:auto;aspect-ratio:16/9;object-fit:cover;margin:-18px -18px 15px;border-radius:17px 17px 0 0}@media(max-width:600px){.recommendation-photo{width:calc(100% + 30px);margin:-15px -15px 14px}}

.bubble.assistant{color:#fff}.bubble.assistant .sources{color:#fff}

.reply-emoji{font-size:16px;line-height:1;flex-shrink:0}.fio-quote-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-self:flex-start;width:calc(85% - 52px);max-width:608px;margin-left:52px;padding:18px;border:1px solid #e7e2d2;border-radius:18px;background:#fff}.fio-quote-form>p,.fio-quote-form>label:first-of-type,.fio-quote-form>label:last-of-type,.quote-actions{grid-column:1/-1}.fio-quote-form>p{font-size:14px;margin:0}.fio-quote-form label{display:flex;flex-direction:column;gap:5px;font-size:13px;min-width:0}.fio-quote-form input,.fio-quote-form select{width:100%;min-width:0;padding:10px;border:1px solid #dedbd3;border-radius:10px;background:#fff;font:inherit;color:#282828}.quote-actions{display:flex;flex-wrap:wrap;gap:8px}.quote-status{color:#a14529}.quote-status:empty{display:none}.fio-quotes{display:flex;flex-direction:column;gap:14px;align-self:flex-start;width:calc(85% - 52px);max-width:608px;margin-left:52px}.quote-summary{font-size:13px;color:#777;margin:0}.quote-price{font-size:24px;color:#9a822b;margin:8px 0}.quote-card small{display:block;font-size:12px;color:#777}.booking-link{text-decoration:none;align-self:flex-start;margin-top:12px}.quote-note{font-size:12px;color:#888}.fio-recommendation>button+button{margin-left:8px}@media(max-width:600px){.fio-quote-form,.fio-quotes{width:calc(95% - 43px);margin-left:43px}.fio-quote-form{padding:14px;grid-template-columns:1fr}.fio-quote-form>*{grid-column:1/-1}.fio-recommendation>button+button{margin-left:0}}

.fio-room-catalog{display:flex;flex-direction:column;gap:16px;align-self:flex-start;width:calc(85% - 52px);max-width:608px;margin-left:52px}.room-gallery{position:relative;margin:-18px -18px 14px}.room-gallery>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:17px 17px 0 0}.room-gallery-controls{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:#282828b3;border-radius:24px;color:#fff;padding:3px 8px;font-size:12px}.room-gallery-controls button{border:0;background:none;color:#fff;font-size:24px;width:28px;height:30px}.room-description{font-size:14px;white-space:pre-wrap}.assistant .booking-link{background:#fff;color:#403c31;margin-top:0}@media(max-width:600px){.fio-room-catalog{width:calc(95% - 43px);margin-left:43px}.room-gallery{margin:-15px -15px 14px}}
.fio-unit-carousel{display:flex;align-items:center;gap:4px;width:100%;min-width:0}.fio-unit-track{display:flex;flex-wrap:nowrap;gap:8px;min-width:0;flex:1;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#dad7ce transparent;padding:6px 0 10px}.fio-unit-track>.fio-choice{flex-shrink:0;max-width:none;white-space:nowrap;scroll-snap-align:start}@media(min-width:601px){.fio-powered{flex-direction:column;align-items:center;gap:4px}.fio-powered>span:first-child{font-size:9px;line-height:1}.fio-family-logo{width:68px;height:33px}.fio-family-logo img{width:140px;height:140px;left:-36px;top:-54px}}@media(max-width:600px){.chat>header{position:relative;z-index:2;background:#fff}.chat>header::after{content:"";position:absolute;left:0;right:0;top:100%;height:28px;background:linear-gradient(to bottom,#fff 0%,rgba(255,255,255,.8) 35%,rgba(255,255,255,0) 100%);pointer-events:none}#messages{padding-top:28px}}.has-city-card{width:100%;min-width:0}.fio-city-card,.fio-weather-card{margin-top:14px;background:#fff;border-radius:14px;padding:14px;color:#38352e;overflow:hidden;min-width:0}.fio-city-card h2,.fio-weather-card h2{font-size:18px;font-weight:400;margin:0 0 8px}.fio-city-card p{font-size:13px;margin:8px 0}.fio-city-card small,.fio-weather-card>small{display:block;font-size:11px;color:#777;margin-top:10px}.fio-city-map{display:block;width:100%;height:240px;border:0;border-radius:10px;margin:12px 0}.city-actions{display:flex;flex-wrap:wrap;gap:8px}.city-link{text-decoration:none;font-size:12px;padding:8px 11px}.weather-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.weather-day{padding:10px;background:#faf8ef;border-radius:10px;min-width:0}.weather-day h3{font-size:13px;font-weight:400;margin:0 0 8px}.weather-day p{font-size:12px;margin:8px 0}.weather-day strong{font-size:18px;font-weight:400}.weather-day small{font-size:11px}.weather-credit{font-size:10px;color:#888;margin:12px 0 0}.weather-credit a{color:#786529}@media(max-width:600px){.weather-days{grid-template-columns:1fr}.weather-day{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}.weather-day h3,.weather-day>small{grid-column:1/-1}.weather-day p{margin:0;font-size:12px}.weather-day strong{font-size:18px}.fio-city-map{height:210px}}.fio-distance-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px;margin:12px 0}.fio-distance-table caption{text-align:left;font-size:12px;margin-bottom:8px;color:#80734c}.fio-distance-table th,.fio-distance-table td{text-align:left;padding:8px 5px;border-bottom:1px solid #eee9dc;overflow-wrap:anywhere}.fio-distance-table th:first-child{width:48%}.fio-distance-table th{font-weight:400;color:#80734c}.fio-quiz-search{display:flex;align-items:center;gap:12px;align-self:flex-start;margin:12px 0 12px 52px;max-width:608px;width:calc(85% - 52px);color:#c1a94b;font-size:16px;line-height:1.45;padding:12px 0;animation:quiz-search-in .25s ease-out both}.fio-quiz-sparkle{display:flex;flex-shrink:0;animation:quiz-sparkle-pulse 1.4s ease-in-out infinite}.fio-quiz-sparkle svg{width:34px;height:34px}@keyframes quiz-sparkle-pulse{0%,100%{opacity:.55;transform:scale(.88) rotate(-8deg)}50%{opacity:1;transform:scale(1.12) rotate(8deg)}}@keyframes quiz-search-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.fio-quiz-search{margin-left:43px;width:calc(95% - 43px);font-size:14px;gap:10px}.fio-quiz-sparkle svg{width:30px;height:30px}}@media(prefers-reduced-motion:reduce){.fio-quiz-search,.fio-quiz-sparkle{animation:none}}
.fio-quiz-sparkle{animation:none}.fio-quiz-sparkle img{display:block;width:34px;height:34px;object-fit:contain}.fio-quiz-sparkle-static{display:none}@media(max-width:600px){.fio-quiz-sparkle img{width:30px;height:30px}}@media(prefers-reduced-motion:reduce){.fio-quiz-sparkle img{display:none}.fio-quiz-sparkle-static{display:flex}}

.quote-card .quote-price{font-size:28px;font-weight:700;color:#00852b;line-height:1.25;margin:10px 0 4px}.quote-night{font-size:16px;font-weight:400}.quote-card .quote-total,.quote-card .quote-taxes{font-size:14px;line-height:1.5}.quote-promotion{display:inline-block;align-self:flex-start;background:#00852b;color:#fff;border-radius:3px;padding:3px 7px;font-size:12px;margin:4px 0 8px}.quote-original{display:block;color:#999;font-size:14px}
.typing-dots{display:inline-flex;align-items:center;gap:7px;flex-shrink:0}.fio-message .is-searching{flex-wrap:wrap;gap:12px;background:#c1a94b;color:#fff;font-size:15px}.is-searching .typing-dot{background:#fff}.quote-carousel{display:flex;gap:14px;width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#d2c9a8 transparent;padding:2px 1px 12px}.quote-carousel:focus-visible{outline:2px solid #c1a94b;outline-offset:3px;border-radius:18px}.quote-carousel>.quote-card{flex:0 0 76%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;background:#fff;border-color:#e7e2d2}.quote-carousel>.quote-card:only-child{flex-basis:100%}.quote-carousel-hint{color:#888;font-size:11px;margin-top:-10px}.quote-whatsapp{align-self:flex-start;text-decoration:none;background:#008c60;color:#fff;border-color:#008c60}.quote-whatsapp:hover{background:#00794f!important;color:#fff}.quote-whatsapp:focus-visible{outline-color:#008c60}@media(max-width:600px){.quote-carousel>.quote-card{flex-basis:92%}.fio-message .is-searching{font-size:14px}.quote-carousel{gap:12px}}
.fio-message .has-hotel-photo{width:100%;max-width:100%;white-space:pre-line}.fio-mentioned-hotels{display:flex;flex-direction:column;gap:12px;margin-top:15px;white-space:normal}.fio-hotel-photo{margin:0;background:#fff;border-radius:13px;overflow:hidden;color:#403c31}.fio-hotel-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.fio-hotel-photo figcaption{padding:9px 12px;font-size:13px;line-height:1.35}.fio-message:has(.has-hotel-photo){width:min(85%,660px)}@media(max-width:600px){.fio-message:has(.has-hotel-photo){width:95%}.fio-hotel-photo figcaption{font-size:12px}}
.fio-rich-content{align-self:flex-start;flex-shrink:0;width:calc(85% - 52px);max-width:608px;margin:0 0 0 52px;min-width:0}.fio-rich-content .fio-mentioned-hotels{margin:0}.fio-hotel-photo{border:1px solid #e7e2d2}.fio-city-card.fio-rich-content,.fio-weather-card.fio-rich-content{border:1px solid #e7e2d2}.fio-link-actions .booking-link{margin-top:0}@media(max-width:600px){.fio-rich-content{width:calc(95% - 43px);margin-left:43px}}
.fio-city-shortcuts{padding-top:8px}.fio-city-shortcuts .city-actions{gap:6px}.fio-city-shortcuts small{display:block;margin-top:6px;color:#777;font-size:11px;line-height:1.4}.fio-city-shortcuts small a{color:inherit}
.fio-link-actions{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start;flex-shrink:0;width:calc(85% - 52px);max-width:608px;margin-left:52px}@media(max-width:600px){.fio-link-actions{width:calc(95% - 43px);margin-left:43px}}
.fio-reply-list{margin:7px 0 0;padding-left:20px;white-space:normal}.fio-reply-list li{margin:5px 0;line-height:1.5}.fio-service-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#d2c9a8 transparent;padding:1px 1px 10px}.fio-service-track:focus-visible{outline:2px solid #c1a94b;outline-offset:3px}.fio-service-card{flex:0 0 76%;min-width:0;margin:0;scroll-snap-align:start;background:#fff;border:1px solid #e7e2d2;border-radius:16px;overflow:hidden}.fio-service-card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.fio-service-card figcaption{padding:11px 14px;font-size:14px;color:#403c31}.fio-service-gallery>small{display:block;font-size:11px;color:#888;margin-top:3px}@media(max-width:600px){.fio-service-card{flex-basis:90%}.fio-service-card figcaption{font-size:13px}}

/* The text bubble arrives first; related media and actions follow with a short stagger. */
@keyframes fio-card-enter{from{opacity:0;transform:translateY(14px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes fio-action-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.fio-rich-content,.fio-quote-form,.fio-link-actions,.recommendation-note{animation:fio-action-enter .38s ease-out both}
.fio-quote-advanced{grid-column:1/-1;display:grid;gap:12px}.fio-quote-advanced>div{display:grid;gap:12px}.fio-quote-advanced fieldset{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:12px;border:1px solid #dedbd3;border-radius:12px;min-width:0}.fio-quote-advanced legend{padding:0 5px;font-size:13px;font-weight:600}.fio-quote-advanced fieldset>div{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fio-room-quote{display:grid;gap:10px}.fio-room-quote h2{margin:0;font-size:16px}.fio-room-quote .quote-card{margin:0}.fio-room-quotes>.quote-note{line-height:1.45}@media(max-width:600px){.fio-quote-advanced fieldset,.fio-quote-advanced fieldset>div{grid-template-columns:1fr}}
.fio-quote-advanced .quote-guest-hint{margin:0;color:#5c5a55;font-size:12px;line-height:1.45}
.fio-rich-content .fio-recommendation,.fio-rich-content .fio-hotel-photo,.fio-rich-content .fio-service-card,.fio-rich-content .weather-day{animation:fio-card-enter .48s cubic-bezier(.2,.75,.25,1) both}
.fio-turnstile{display:none;justify-content:center;align-items:center;min-height:0;margin:0 auto 8px;max-width:100%}
.fio-turnstile.is-active{display:flex}
.fio-rich-content .fio-recommendation:nth-child(2),.fio-rich-content .fio-hotel-photo:nth-child(2),.fio-rich-content .fio-service-card:nth-child(2),.fio-rich-content .weather-day:nth-child(2){animation-delay:.09s}
.fio-rich-content .fio-recommendation:nth-child(3),.fio-rich-content .fio-hotel-photo:nth-child(3),.fio-rich-content .fio-service-card:nth-child(3),.fio-rich-content .weather-day:nth-child(3){animation-delay:.18s}
.fio-options{animation:fio-action-enter .34s ease-out both}
.fio-options>.fio-choice,.fio-unit-track>.fio-choice{animation:fio-action-enter .32s ease-out both}
.fio-options>.fio-choice:nth-child(2),.fio-unit-track>.fio-choice:nth-child(2){animation-delay:.06s}
.fio-options>.fio-choice:nth-child(3),.fio-unit-track>.fio-choice:nth-child(3){animation-delay:.12s}
@media(prefers-reduced-motion:reduce){.fio-rich-content,.fio-quote-form,.fio-link-actions,.recommendation-note,.fio-options,.fio-options>.fio-choice,.fio-unit-track>.fio-choice,.fio-rich-content .fio-recommendation,.fio-rich-content .fio-hotel-photo,.fio-rich-content .fio-service-card,.fio-rich-content .weather-day{animation:none}}

#record{display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:#887639;padding:0}#record[hidden]{display:none}#record svg{width:20px;height:20px}#record:hover:not(:disabled),#record:focus-visible{color:#9b8231}#record.is-recording{color:#a23535;animation:fio-record-pulse 1s ease-in-out infinite}#record.is-transcribing{color:#c1a94b;animation:fio-record-pulse 1s ease-in-out infinite}@keyframes fio-record-pulse{50%{box-shadow:0 0 0 6px #c1a94b33}}.fio-listen{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;width:27px;height:25px;margin:1px 0 0 2px;padding:0;border:0;border-radius:50%;background:transparent;color:#9b8b53}.fio-listen svg{width:17px;height:17px}.fio-listen:hover,.fio-listen:focus-visible,.fio-listen.is-playing{background:#f7f2df;color:#6c5a22}.fio-listen:focus-visible{outline:2px solid #c1a94b;outline-offset:2px}@media(max-width:600px){#chat-form{gap:8px}#record{flex-basis:34px;width:34px;height:34px}#record svg{width:18px;height:18px}}@media(prefers-reduced-motion:reduce){#record.is-recording,#record.is-transcribing{animation:none}}
.fio-message-footer{display:flex;align-items:center;gap:3px;min-height:24px}.fio-message-footer .message-time{display:inline-flex;align-items:center;align-self:center;height:24px;padding-left:4px}.fio-listen{align-self:center;width:24px;height:24px;margin:0;border:0;background:transparent;color:#a19b8c}.fio-listen svg{display:block;width:14px;height:14px}.fio-listen.is-playing{background:#f7f2df;color:#806b27}
.fio-listen.is-loading{background:#f7f2df;color:#806b27}.fio-listen-loader{display:block;width:14px;height:14px;border:2px solid #d6caa7;border-top-color:#806b27;border-radius:50%;animation:fio-listen-spin .75s linear infinite}@keyframes fio-listen-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.fio-listen-loader{animation:none;border-top-color:#806b27}}
.voice-panel[hidden]{display:none!important}#chat-form.is-voice-recording{background:#303030;gap:0;padding:8px 10px 8px 14px;box-shadow:none}#chat-form.is-voice-recording #message,#chat-form.is-voice-recording #record,#chat-form.is-voice-recording #send{display:none}.voice-panel{display:flex;align-items:center;gap:10px;width:100%;min-width:0;height:42px}.voice-panel button{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;padding:0;border:0;border-radius:50%;color:#fff;background:transparent}.voice-panel button svg{width:22px;height:22px}.voice-panel #voice-cancel{flex-basis:32px;width:32px}.voice-panel #voice-cancel svg{width:23px;height:23px}.voice-panel #voice-pause{background:#3e3e3e}.voice-panel #voice-submit{background:#c1a94b;color:#fff}.voice-panel button:hover:not(:disabled){background:#555}.voice-panel #voice-submit:hover:not(:disabled){background:#a89037}.voice-panel button:focus-visible{outline:2px solid #fff;outline-offset:2px}.voice-wave-wrap{display:flex;align-items:center;flex:1;min-width:0;height:100%;overflow:hidden}.voice-wave{display:flex;align-items:center;justify-content:space-around;gap:2px;width:100%;height:28px}.voice-bar{display:block;flex:1;max-width:4px;min-width:2px;height:4px;border-radius:4px;background:#c1a94b;transition:height 85ms ease-out}.voice-panel[data-state="paused"] .voice-bar,.voice-panel[data-state="requesting"] .voice-bar,.voice-panel[data-state="transcribing"] .voice-bar{height:4px!important;opacity:.5}.voice-panel .voice-resume-icon{display:none}.voice-panel[data-state="paused"] .voice-resume-icon{display:block}.voice-panel[data-state="paused"] .voice-pause-icon{display:none}@media(max-width:600px){.voice-panel{gap:6px}.voice-panel button{flex-basis:38px;width:38px;height:38px}.voice-panel #voice-cancel{flex-basis:30px;width:30px}.voice-wave{gap:1px}.voice-bar:nth-child(even){display:none}}@media(prefers-reduced-motion:reduce){.voice-bar{transition:none}}
.voice-panel[data-state="requesting"] .voice-bar,.voice-panel[data-state="transcribing"] .voice-bar{display:none}.voice-panel[data-state="requesting"] .voice-wave::after,.voice-panel[data-state="transcribing"] .voice-wave::after{color:#ddd;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-panel[data-state="requesting"] .voice-wave::after{content:"Permita o microfone no navegador"}.voice-panel[data-state="transcribing"] .voice-wave::after{content:"Transcrevendo áudio..."}
#chat-form.is-voice-recording{padding:12px 14px 12px 22px}.voice-panel #voice-submit{flex:0 0 42px;width:42px;height:42px}.voice-panel #voice-submit img{display:block;width:19px;height:19px;object-fit:contain;transform:translate(-1px,1px)}@media(max-width:600px){#chat-form.is-voice-recording{padding-left:18px}}
#messages{gap:12px;overflow-x:hidden}

@media(min-width:601px){#messages{width:calc(100% + 96px);max-width:none;margin:0 -48px;padding:24px max(48px,calc((100vw - 900px)/2))}}

@media(min-width:1024px){
  .fio-rich-content:is(.fio-service-gallery,.fio-recommendations,.fio-room-catalog,.fio-quotes){align-self:center;width:min(1180px,calc(100vw - 96px));max-width:none;margin:0}
  .fio-service-track>.fio-service-card{flex-basis:clamp(380px,45%,540px)}
  .fio-room-catalog,.fio-recommendations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .fio-room-catalog>.quote-note{grid-column:1/-1}
  .quote-carousel>.quote-card{flex-basis:clamp(290px,31%,390px)}
}
@media(min-width:1440px){.fio-recommendations{grid-template-columns:repeat(3,minmax(0,1fr))}}

.fio-options>.fio-choice.featured{display:grid;grid-template-columns:22px minmax(0,1fr) 22px;align-items:center;column-gap:14px;min-height:76px;width:100%;padding:13px 17px;border:1px solid #d4be66;border-radius:18px;background:#f7f1d9;color:#332e22;text-align:left}
.fio-choice.featured .choice-icon{align-items:center;justify-content:center}.fio-choice.featured .choice-icon svg{width:21px;height:21px}
.choice-featured-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.choice-featured-title{font-size:16px;line-height:1.3}.choice-featured-subtitle{font-size:12px;line-height:1.3;color:#746c58}
.choice-featured-arrow{display:flex;align-items:center;justify-content:center;width:22px;height:22px;color:#ac9137;background:none;border:0}.choice-featured-arrow svg{display:block;width:20px;height:20px}
.fio-options>.fio-choice.featured:hover:not(:disabled){background:#f3ebcd;border-color:#baa047}.fio-options>.fio-choice.featured:hover:not(:disabled) .choice-featured-arrow{transform:translateX(3px)}.choice-featured-arrow{transition:transform .2s ease-out}
@media(max-width:600px){.fio-options>.fio-choice.featured{grid-template-columns:20px minmax(0,1fr) 20px;column-gap:10px;padding:12px 13px;min-height:72px;border-radius:16px}.choice-featured-title{font-size:14px}.choice-featured-subtitle{font-size:11px}}
@media(prefers-reduced-motion:reduce){.choice-featured-arrow{transition:none}}
.fio-quiz-progress{display:flex;flex-direction:column;gap:7px;align-self:flex-start;width:calc(85% - 52px);max-width:608px;margin:0 0 -4px 52px;color:#827862;font-size:12px}.fio-quiz-progress-track{height:6px;border-radius:999px;background:#eee9dc;overflow:hidden}.fio-quiz-progress-track span{display:block;height:100%;border-radius:inherit;background:#c1a94b;transition:width .4s ease-out}@media(max-width:600px){.fio-quiz-progress{width:calc(95% - 43px);margin-left:43px;font-size:11px}}@media(prefers-reduced-motion:reduce){.fio-quiz-progress-track span{transition:none}}
.fio-message-footer{align-self:flex-start;width:max-content;max-width:calc(100% - 52px);margin:-8px 0 -2px 52px;gap:2px}.fio-message-footer .message-time{padding:0 4px}.fio-feedback{display:inline-flex;align-items:center;gap:2px}.fio-message-footer .fio-listen,.fio-feedback-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:#a19b8c}.fio-message-footer .fio-listen svg,.fio-feedback-button svg{display:block;width:14px;height:14px}.fio-feedback-button:hover,.fio-feedback-button:focus-visible,.fio-feedback-button[aria-pressed="true"]{background:#f7f2df;color:#806b27}.fio-feedback-button:focus-visible{outline:2px solid #c1a94b;outline-offset:2px}#messages>.fio-message+.fio-rich-content,#messages>.fio-message+.fio-options,#messages>.fio-rich-content+.fio-options{margin-top:-6px}@media(max-width:600px){.fio-message-footer{max-width:calc(100% - 43px);margin-left:43px}}
.fio-message-footer:has(.fio-feedback-reasons){flex-wrap:wrap;width:min(100%,640px)}.fio-feedback:has(.fio-feedback-reasons){flex-wrap:wrap}.fio-feedback-reasons{display:flex;flex-wrap:wrap;gap:5px;flex-basis:100%;margin:3px 0 5px}.fio-feedback-reason{border:1px solid #d9d1bd;border-radius:999px;background:#fff;color:#554a30;padding:5px 9px;font-size:11px;cursor:pointer}.fio-feedback-reason:hover,.fio-feedback-reason:focus-visible{border-color:#bca34b;background:#f7f2df}.fio-feedback-thanks,.fio-feedback-error{font-size:11px;color:#736a59}.fio-feedback-error{color:#9b463a}
.fio-cache-notice{align-self:center;max-width:608px;margin:6px 24px;padding:8px 12px;border-radius:12px;background:#f5f5f3;color:#69685f;font-size:12px;line-height:1.45;text-align:center}
.fio-site-links{display:flex;flex-wrap:wrap;gap:6px;width:100%;margin-top:3px}.fio-site-links a{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border:1px solid #d8c99c;border-radius:17px;background:#faf8f0;color:#57481e;font-size:12px;text-decoration:none}.fio-site-links a:hover{background:#f2ebd5;border-color:#b6a253}.fio-site-links a:focus-visible{outline:2px solid #8a7437;outline-offset:2px}
.fio-contact-form{display:grid;gap:12px;align-self:flex-start;width:calc(85% - 52px);max-width:608px;margin:0 0 0 52px;padding:18px;border:1px solid #e7e2d2;border-radius:18px;background:#fff;color:#38352e;animation:fio-card-enter .48s cubic-bezier(.2,.75,.25,1) both}
.fio-contact-title{margin:0;color:#38352e;font-size:16px;font-weight:700;line-height:1.35}
.fio-contact-intro{margin:0;color:#4a463b;font-size:13px;line-height:1.5}
.fio-contact-phone-label{display:grid;gap:6px;font-size:13px;font-weight:600}
.fio-contact-form input[type=tel]{width:100%;padding:11px 12px;border:1px solid #d9d3c4;border-radius:10px;background:#fff;color:#292929;font:inherit}
.fio-contact-consent{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.45;color:#5d574b}
.fio-contact-consent input{flex:none;margin:2px 0 0;accent-color:#ad9d52}
.fio-contact-actions{display:flex;flex-wrap:wrap;gap:8px}.fio-contact-actions .fio-choice:first-child{background:#ad9d52;border-color:#ad9d52;color:#fff}
.fio-contact-status{margin:0;color:#9b463a;font-size:12px}.fio-contact-status:empty{display:none}
@media(max-width:600px){.fio-contact-form{width:calc(95% - 43px);margin-left:43px;padding:14px}}
@media(prefers-reduced-motion:reduce){.fio-contact-form{animation:none}}

/* Collections of cards share one horizontal, keyboard-scrollable layout. */
.fio-recommendations,.fio-room-track,.fio-mentioned-hotels,.weather-days{
  display:flex;flex-direction:row;align-items:stretch;gap:12px;min-width:0;
  overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#d2c9a8 transparent;
  padding:2px 1px 12px;
}
.fio-recommendations:focus-visible,.fio-room-track:focus-visible,.fio-mentioned-hotels:focus-visible,.weather-days:focus-visible{
  outline:2px solid #c1a94b;outline-offset:2px;border-radius:18px;
}
.fio-recommendations>.fio-recommendation,.fio-room-track>.fio-room-card,.fio-mentioned-hotels>.fio-hotel-photo,.weather-days>.weather-day{
  flex:0 0 76%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;
}
.fio-recommendations>.fio-recommendation:only-child,.fio-room-track>.fio-room-card:only-child,.fio-mentioned-hotels>.fio-hotel-photo:only-child{flex-basis:100%}
.fio-room-catalog{display:flex;flex-direction:column;gap:4px}.fio-room-track{width:100%}
.fio-mentioned-hotels{margin-top:0}.fio-hotel-photo{align-self:stretch}
.weather-days{margin:12px 0 0}.weather-days>.weather-day{background:#faf8ef}
.fio-carousel-hint{display:block;color:#888;font-size:11px;line-height:1.4}
.fio-weather-card>.fio-carousel-hint{margin-top:3px}
.recommendation-carousel-hint{align-self:flex-start;width:calc(85% - 52px);max-width:608px;margin:-10px 0 0 52px}
@media(max-width:600px){
  .fio-recommendations>.fio-recommendation,.fio-room-track>.fio-room-card,.fio-mentioned-hotels>.fio-hotel-photo,.weather-days>.weather-day{flex-basis:88%}
  .recommendation-carousel-hint{width:calc(95% - 43px);margin-left:43px}
}
@media(min-width:1024px){
  .fio-recommendations,.fio-room-catalog{display:flex;flex-direction:column}
  .fio-recommendations{flex-direction:row}
  .fio-rich-content:is(.has-hotel-photo,.fio-weather-card){align-self:center;width:min(1180px,calc(100vw - 96px));max-width:none;margin:0}
  .fio-recommendations>.fio-recommendation,.fio-room-track>.fio-room-card,.fio-mentioned-hotels>.fio-hotel-photo{flex-basis:clamp(320px,44%,520px)}
  .weather-days>.weather-day{flex-basis:clamp(260px,31%,390px)}
  .recommendation-carousel-hint{align-self:center;width:min(1180px,calc(100vw - 96px));max-width:none;margin:-10px 0 0}
}
@media(min-width:1024px){
  .fio-recommendations:has(>.fio-recommendation:only-child),
  .fio-recommendations:has(>.fio-recommendation:only-child)+.recommendation-note{
    align-self:flex-start;width:min(520px,calc(100vw - 148px));margin-left:52px;
  }
}

.fio-brand h1{display:flex;align-items:center;line-height:1}.fio-brand .fio-logo{display:block;width:auto;height:48px;max-width:none}@media(max-width:600px){.fio-brand .fio-logo{height:42px}}

/* Leave room for the WordPress widget's single close control. */
body.fio-embed .chat>header{padding-right:36px}
@media(max-width:600px){html:has(body.fio-embed),body.fio-embed,body.fio-embed .chat{background:#fff}body.fio-embed .chat>header{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}body.fio-embed .chat>header::after{background:linear-gradient(to bottom,#fff,rgba(255,255,255,0))}}
@media(max-width:380px){body.fio-embed #reset{width:36px;height:36px;padding:0;border-radius:50%}body.fio-embed #reset span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}

/* Fio colors for assistant messages and actions. */
:root{--fio-gold-on-white:#88742c;--fio-assistant-gold:#ad9d52}
.bubble.assistant{background:var(--fio-assistant-gold);color:#fff}
.fio-message .is-typing{background:#e8e7ed;color:#5b5b5f}
.fio-message .is-typing .typing-dot{background:#96959b}
#send,.voice-panel #voice-submit{background:var(--fio-assistant-gold)}
.voice-panel #voice-submit:hover:not(:disabled){background:#998a45}
.fio-quiz-search{color:var(--fio-gold-on-white)}

.recommendation-more{margin:0 0 10px;font-size:13px;color:#514b3c}
.recommendation-more summary{width:max-content;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.recommendation-more ul{margin:8px 0 0}
.fio-recommendation .recommendation-quote-action{background:var(--fio-assistant-gold);border-color:var(--fio-assistant-gold);color:#fff}
.fio-recommendation .recommendation-quote-action:hover:not(:disabled){background:#998a45;border-color:#998a45;color:#fff}
@media(max-width:600px){
  .fio-recommendations .fio-recommendation{padding:12px}
  .fio-recommendations .recommendation-photo{width:calc(100% + 24px);height:130px;aspect-ratio:auto;margin:-12px -12px 10px}
  .fio-recommendations .fio-recommendation h2{font-size:17px;line-height:1.25;margin:3px 0 7px}
  .fio-recommendations .fio-recommendation ul{margin-bottom:8px;font-size:13px;line-height:1.4}
  .fio-recommendations .fio-recommendation .fio-choice{min-height:42px}
}

.quote-card .quote-total{color:#5d5b55;font-size:13px;line-height:1.4}
.quote-card .quote-taxes{color:#5d5b55;font-size:13px;font-weight:400;line-height:1.4;margin-top:2px}
.quote-card .quote-stay{display:flex;flex-direction:column;gap:2px;margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#f8f6ee;color:#5d5b55;font-size:12px;line-height:1.4}
.quote-card .quote-stay span:first-child{font-weight:600;color:#403c31}
.quote-card .quote-note{margin-top:12px;padding-top:10px;border-top:1px solid #e7e2d2;color:#777;font-size:12px;line-height:1.45}
@media(max-width:600px){.fio-quotes.fio-rich-content{width:calc(100% - 43px);max-width:none}}

#record{color:var(--fio-assistant-gold)}
#record:hover:not(:disabled),#record:focus-visible{color:#998a45}
#record.is-transcribing{color:var(--fio-assistant-gold)}
#chat-form.is-voice-recording{background:#f7f7f7}
.voice-panel #voice-cancel{color:#5b5953}
.voice-panel #voice-pause{background:#e9e7df;color:#5b5953}
.voice-panel button:hover:not(:disabled){background:#e9e7df}
.voice-panel #voice-pause:hover:not(:disabled){background:#dcd8cd}
.voice-panel #voice-submit:hover:not(:disabled){background:#998a45}
.voice-panel button:focus-visible{outline-color:#ad9d52}
.voice-panel[data-state="requesting"] .voice-wave::after,.voice-panel[data-state="transcribing"] .voice-wave::after{color:#5b5953}
.voice-bar{background:var(--fio-assistant-gold)}
.staff-stack{align-self:flex-start;max-width:80%}.staff-stack .bubble.staff{background:#eef0ff;color:#27336e;border:1px solid #dce0ff}.fio-staff-label{padding-left:4px;color:#6470a2;font-size:12px;font-weight:700}@media(max-width:600px){.staff-stack{max-width:92%}}
