.ask-trigger{background:#244e3f;color:#fff;border:0;border-radius:8px;padding:10px 14px;white-space:nowrap}.herotext .whitebutton{margin-bottom:8px}.villa-assistant{position:fixed;right:24px;bottom:20px;z-index:80;width:440px;height:min(790px,calc(100dvh - 110px));background:#fbfaf6;border:1px solid #d6ded7;border-radius:18px;box-shadow:0 16px 65px #132e2b33;display:flex;flex-direction:column;overflow:hidden;font-size:14px;text-align:left;color:#243c30}.ai-head{display:flex;align-items:center;gap:12px;padding:18px 20px;background:#244e3f;color:white}.ai-head h2{font:600 21px Georgia,serif;margin:0}.ai-head p{font-size:12px;margin:4px 0 0;opacity:.8}.ai-head button{margin-left:auto;color:white;background:transparent;border:0;font-size:27px}.ai-mark{font-size:29px}.ai-demo{font-size:11px;padding:8px 20px;background:#edf0e8;color:#53614f;letter-spacing:.3px}.ai-conversation{flex:1;min-height:0;overflow:auto;padding:20px}.ai-message{margin-bottom:22px}.ai-message p{white-space:pre-line;line-height:1.65;margin:6px 0 10px}.ai-message.user{margin-left:32px;background:#e3ebe3;padding:10px 14px;border-radius:12px 12px 0 12px}.ai-byline{font-size:10px;letter-spacing:1.7px;color:#6d806d}.ai-chips{display:flex;flex-wrap:wrap;gap:7px}.ai-chips button{background:#fff;border:1px solid #d9dfd5;border-radius:20px;padding:7px 10px;font-size:12px;line-height:1.4}.ai-cards{display:grid;gap:12px}.ai-cards article{background:white;border:1px solid #dde3d9;border-radius:10px;overflow:hidden}.ai-cards img{width:100%;height:126px;object-fit:cover}.ai-cards article>div{padding:12px}.ai-cards h3{font-size:19px;margin:5px 0}.ai-cards p{font-size:12px;color:#667265}.ai-cards .actions{margin-top:12px;gap:10px}.ai-cards .primary{font-size:12px;padding:10px 15px}.ai-trip{padding:11px 18px;border-top:1px solid #dde3d9;font-size:12px;background:#f0f2eb}.ai-trip span,.ai-trip small{display:block;margin-bottom:5px}.ai-trip button{background:none;border:0;padding:4px 10px 0 0;text-decoration:underline;font-size:11px}#ai-form{display:flex;padding:12px;gap:8px;background:#fff}#ai-input{flex:1;min-width:0;padding:9px;border:1px solid #dce1d7;border-radius:8px;resize:none;font:inherit}#ai-form button{padding:10px 15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.review-card,.grant-card{padding:22px;border:1px solid #e0e4da;border-radius:12px;margin:18px 0;background:#fff}.review-card h3{margin:0}.review-card .sectiontitle{margin:0 0 18px}.detail-grid{display:grid;grid-template-columns:110px 1fr;gap:12px;font-size:14px;line-height:1.7}.detail-grid dt{color:#74806f}.detail-grid dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.status{display:inline-block;white-space:nowrap;background:#edf1e8;color:#536649;padding:5px 9px;border-radius:5px;font-size:12px}.status.requested{background:#f7eed9;color:#8d6b26}.status.confirmed,.status.checked_in{background:#e0eee8;color:#2b6551}.status.cancelled,.status.rejected{background:#f2e5e0;color:#906555}.grant-card .status{margin-left:15px}.source-label{font-size:11px;color:#66816b}.checklist{padding-left:22px;line-height:2}.sidebar-bottom button{border:1px solid #d8dfd3;border-radius:5px;background:transparent;padding:8px;text-align:left}.worksection td button{margin:3px}.work-heading select{max-width:100%}.worksection .actions{flex-wrap:wrap}.shade{z-index:120}#toast{z-index:160}.work-fine{overflow-wrap:anywhere}.worksection .tablewrap{max-width:100%}.villa-assistant button:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #bb8c47;outline-offset:3px}
@media(max-width:700px){header{flex-wrap:wrap;gap:8px}header .navend{gap:7px}.ask-trigger{font-size:12px;padding:9px}.villa-assistant{right:8px;bottom:8px;width:calc(100% - 16px);height:calc(100dvh - 90px);border-radius:13px}.ai-head{padding:12px 16px}.ai-conversation{padding:15px}.detail-grid{grid-template-columns:80px 1fr}.review-card{padding:16px}.review-card .sectiontitle{display:block}.work-heading{flex-wrap:wrap;gap:12px}.herotext .whitebutton{font-size:13px;padding:12px}.work-area{min-width:0}.worksection{min-width:0}}

@media(max-width:600px){body> #app>header{height:auto;min-height:126px;padding-bottom:14px}body> #app>header .brand{flex-basis:100%;font-size:25px}body> #app>header .navend{position:absolute;right:18px;top:61px}body> #app>header nav{justify-content:flex-start;flex-basis:auto;gap:12px;padding-top:8px;font-size:11px}body> #app>header #lang{max-width:94px}.villa-assistant{height:calc(100dvh - 32px)}}
/* Desktop companion: a dedicated right column, with a fully usable left canvas. */
.companion-active #app{padding-right:410px}.companion-active #app>header{padding-left:30px;padding-right:28px;gap:15px}.companion-active #app>header nav{gap:15px}.companion-active #app>header .workspace{display:none}.companion-active #app>header .navend{gap:10px}.companion-active #app>header .brand{font-size:25px}.companion-active #app>header #lang{max-width:112px;font-size:12px}.companion-active .villa-assistant{right:0;top:0;bottom:0;width:410px;height:100dvh;border-radius:0;box-shadow:none;border:0;border-left:1px solid #d5ded3;z-index:90}.companion-active .ai-head{min-height:88px}.companion-active .narrow{max-width:780px}.linked-explore{padding:30px 34px;max-width:1300px}.linked-explore h1{font-size:34px;margin:10px 0}.linked-explore .sectiontitle{margin:0 0 20px}.linked-status{display:flex;align-items:center;gap:9px;font-size:12px;color:#6b7b6e;margin-bottom:14px}.linked-status b{margin-left:auto;color:#294e3b}.linked-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px;font-size:12px}.linked-filters>span{background:#eaf0e8;padding:5px 10px;border-radius:20px}.linked-filters button{font-size:12px;border:0;background:transparent;text-decoration:underline}.linked-explore #map{height:340px;border-radius:12px;background:#e6ebe2;z-index:0}.map-caption{font-size:11px;color:#7a897a;margin:10px 0 20px}.linked-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.linked-photo{width:100%;height:180px;padding:0;position:relative;overflow:hidden;border:0;border-radius:0;background:#dae3d8}.linked-photo img{width:100%;height:100%;object-fit:cover}.linked-photo>span{position:absolute;left:12px;bottom:12px;background:#fff;padding:4px 9px;border-radius:4px;font-size:11px}.linked-card.is-selected{outline:2px solid #557e60;outline-offset:2px}.linked-card .cardbody h3{font-size:22px}.linked-card .cardbody p{font-size:12px}.linked-card .cardbody .actions{justify-content:space-between;gap:8px}.linked-card button.primary{font-size:12px;padding:10px 14px}.map-price-wrap{border:0;background:transparent}.map-price{background:#fff;color:#234e3c;border:1px solid #879c86;border-radius:20px;box-shadow:0 2px 7px #0002;padding:5px 12px;font-weight:700;font-size:13px;white-space:nowrap}.map-price.selected{background:#234e3c;color:#fff;border-color:#fff}.companion-active .ai-cards img{height:95px}.companion-active .ai-cards article{display:grid;grid-template-columns:95px minmax(0,1fr)}.companion-active .ai-cards article>div{padding:9px}.companion-active .ai-cards h3{font-size:16px}.companion-active .ai-cards p{font-size:11px;line-height:1.4;margin:3px 0}.companion-active .ai-cards .actions{gap:5px;margin-top:7px;flex-wrap:wrap}.companion-active .ai-cards .actions button{font-size:11px;padding:6px 8px}.companion-active .detailcols{grid-template-columns:minmax(0,1fr)}.companion-active .gallery img{height:250px}.companion-active .bookbox{position:static}
@media(min-width:901px) and (max-width:1200px){.companion-active #app>header{height:auto;min-height:100px;flex-wrap:wrap;padding:12px 22px}.companion-active #app>header nav{order:3;flex-basis:100%;font-size:12px}.companion-active .linked-explore{padding:24px}.linked-cards{grid-template-columns:1fr}.companion-active .villa-assistant{width:370px}.companion-active #app{padding-right:370px}}
@media(max-width:900px){.companion-active #app{padding-right:0;padding-bottom:55dvh}.companion-active .villa-assistant{top:auto;bottom:0;width:100%;height:52dvh;border:0;border-top:2px solid #b6c7b1;border-radius:16px 16px 0 0}.companion-active .ai-head{min-height:0;padding:9px 16px}.companion-active .ai-head h2{font-size:18px}.companion-active .ai-head p{display:none}.companion-active .ai-demo{padding:5px 16px;font-size:10px}.companion-active .ai-trip{padding:6px 16px}.companion-active .ai-trip small{display:none}.companion-active #ai-form{padding:8px}.companion-active #ai-input{height:42px}.companion-active .ai-conversation{padding:12px 16px}.linked-explore{padding:22px 18px}.linked-explore h1{font-size:27px}.linked-explore #map{height:260px}.linked-cards{grid-template-columns:1fr 1fr;gap:12px}.linked-photo{height:140px}.linked-card .cardbody{padding:12px}.linked-card .cardbody .actions{flex-wrap:wrap}.linked-status{font-size:11px}.linked-status b{white-space:nowrap}.companion-active #app>header{height:auto;min-height:100px}.companion-active #app>header .navend{position:static}.companion-active #app>header .brand{flex-basis:auto}.companion-active #app>header nav{flex-basis:100%;justify-content:flex-start}}
@media(max-width:420px){.linked-cards{grid-template-columns:1fr}.companion-active #app>header{padding:12px 18px;gap:8px}.companion-active #app>header .brand{font-size:23px}.companion-active #app>header .navend{flex-basis:100%;justify-content:space-between}.companion-active #app>header nav{padding:0}.linked-status{align-items:start}.linked-filters{gap:4px;font-size:11px}}
.place-label{font-size:11px;text-align:center;color:#587267;text-shadow:0 1px 2px #fff,1px 0 2px #fff;white-space:nowrap;font-weight:600;pointer-events:none}
/* Four supported locales and offline geography. */
#lang option:disabled{color:#a2aaa5;background:#f2f3f1}
#map.country-map{background:#c7dfe3}
.country-map .map-price{min-width:104px;padding:5px 9px;font-size:14px;line-height:1.15}
.country-map .map-price small{display:block;font-size:10px;font-weight:500;white-space:nowrap}
.hero-cn{max-width:620px;font-size:20px!important;line-height:1.5!important}
html[lang=es] .herotext h1{font-size:clamp(38px,4.5vw,72px)}
html[lang=es] .ai-head h2{font-size:22px}
.ai-head>div{min-width:0}.ai-head p{white-space:normal}
@media(max-width:600px){.hero-cn{font-size:16px!important}.navend #lang{max-width:115px}.navend .ask-trigger{max-width:150px;font-size:12px}.country-map .map-price{min-width:88px;font-size:12px}}

#map.country-map{height:430px}@media(max-width:600px){#map.country-map{height:360px}}
