.cv-header-shortcuts{display:flex;align-items:center;gap:10px;position:relative}.cv-icon-action{width:38px;height:38px;border:0;background:transparent;color:#fff;display:grid;place-items:center;border-radius:50%;cursor:pointer;position:relative;text-decoration:none}.cv-icon-action:hover,.cv-icon-action:focus-visible{background:rgba(255,255,255,.1);outline:none}.cv-icon-action svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}.cv-counter-badge{position:absolute;right:-2px;top:3px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#e53945;color:#fff;font-size:9px;line-height:16px;font-weight:900;display:grid;place-items:center;box-sizing:border-box;z-index:3}.cv-counter-badge[hidden]{display:none!important}.cv-notification-badge{top:4px}.cv-notification-popover{position:absolute;right:0;top:46px;width:min(340px,88vw);background:#fff;color:#17212b;border:1px solid #e6ebef;border-radius:14px;box-shadow:0 18px 50px rgba(4,30,53,.2);padding:12px;z-index:1000}.cv-notification-popover[hidden]{display:none}.cv-notification-popover h3{font-size:15px;margin:2px 4px 10px}.cv-notification-list{display:grid;gap:6px;max-height:320px;overflow:auto}.cv-notification-item{display:block;padding:10px;border-radius:9px;background:#f7f9fb;color:#17212b;text-decoration:none;font-size:12px}.cv-notification-item strong{display:block;font-size:13px;margin-bottom:3px}.cv-notification-empty{padding:12px;color:#687687;font-size:13px}.cv-notification-footer{display:block;text-align:center;padding:9px 8px 3px;color:#063b89;font-weight:750;font-size:12px}.cv-heart{position:absolute;z-index:5;right:11px;top:9px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:29px;line-height:1;text-shadow:0 2px 7px rgba(0,0,0,.55);cursor:pointer;user-select:none}.cv-heart:hover{transform:scale(1.06)}.cv-heart[aria-pressed="true"]{color:#ffb000;text-shadow:0 2px 7px rgba(0,0,0,.35)}.activity-item{position:relative}.activity-item .cv-heart{right:13px;top:13px;color:#fff;background:rgba(2,45,77,.58);font-size:25px;text-shadow:none}.activity-item .cv-heart[aria-pressed="true"]{background:#fff;color:#ff9d00}.cv-tourism-detail{padding:26px 0 50px}.cv-tourism-hero{position:relative;min-height:390px;border-radius:18px;overflow:hidden;color:#fff;background:center/cover no-repeat;box-shadow:0 14px 38px rgba(3,35,58,.14)}.cv-tourism-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,38,65,.82),rgba(2,38,65,.18) 70%)}.cv-tourism-hero__body{position:relative;z-index:2;padding:54px;max-width:730px}.cv-tourism-hero__eyebrow{font-size:12px;font-weight:850;color:#ffb000;text-transform:uppercase;letter-spacing:.04em}.cv-tourism-hero h1{color:#fff;font-size:clamp(34px,4vw,54px);margin:8px 0 10px;line-height:1.02}.cv-tourism-hero p{font-size:17px;line-height:1.55}.cv-tourism-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.cv-tourism-meta>span{background:rgba(255,255,255,.94);color:#152333;border-radius:20px;padding:7px 11px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:6px}.cv-tourism-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;margin-top:24px}.cv-tourism-card{background:#fff;border:1px solid #e6ebef;border-radius:14px;padding:22px;box-shadow:0 7px 22px rgba(8,40,61,.06)}.cv-tourism-card h2{margin-top:0}.cv-tourism-services{display:flex;flex-wrap:wrap;gap:8px}.cv-tourism-services span{background:#f2f5f7;border-radius:18px;padding:7px 10px;font-size:12px}.cv-tourism-actions{display:grid;gap:10px}.cv-tourism-actions .button{width:100%;justify-content:center}.cv-tourism-map{margin-top:22px;border-radius:14px;overflow:hidden;border:1px solid #e6ebef}.cv-tourism-map iframe{width:100%;height:330px;border:0;display:block}
.cv-star-picker{display:flex;align-items:center;gap:2px;margin-top:7px}.cv-star-picker input{display:none!important}.cv-star-picker button{appearance:none;border:0;background:transparent;color:#cbd2d9;font-size:31px;line-height:1;padding:2px 3px;cursor:pointer;min-width:34px}.cv-star-picker button.is-active,.cv-star-picker button:hover{color:#ffb000}.cv-star-picker button:focus-visible{outline:2px solid #0b70b1;outline-offset:2px;border-radius:5px}.cv-stars{display:inline-flex;align-items:center;gap:1px;color:#ffb000;letter-spacing:1px}.cv-stars .is-empty{color:#cbd2d9}
/* Home search: all four fields stay interactive on every screen size. */
body[data-page="home"] .cv-searchbar label:focus-within{box-shadow:inset 0 0 0 2px rgba(7,91,143,.35);border-radius:10px}body[data-page="home"] .cv-searchbar input[type="text"],body[data-page="home"] .cv-searchbar input:not([type]),body[data-page="home"] .cv-searchbar input[list]{cursor:text!important}body[data-page="home"] .cv-searchbar select,body[data-page="home"] .cv-searchbar input[type="date"]{cursor:pointer!important}
@media(max-width:1180px){body[data-page="home"] .cv-searchbar{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important}body[data-page="home"] .cv-searchbar label:nth-of-type(4){display:flex!important}body[data-page="home"] .cv-searchbar__submit{grid-column:1/-1;min-height:52px;margin-top:8px}}
@media(max-width:850px){.cv-header-shortcuts{gap:2px}.cv-icon-action{width:34px;height:34px}.cv-tourism-hero__body{padding:34px 24px}.cv-tourism-grid{grid-template-columns:1fr}.cv-tourism-map iframe{height:280px}body[data-page="home"] .cv-searchbar{grid-template-columns:1fr!important}body[data-page="home"] .cv-searchbar label:nth-of-type(3),body[data-page="home"] .cv-searchbar label:nth-of-type(4){display:flex!important}body[data-page="home"] .cv-searchbar__submit{grid-column:auto!important}}

/* Lightweight micro-interactions: transform/opacity only to avoid layout jank. */
.cv-heart-pop,.cv-heart-unpop,.cv-header-heart-pop,.cv-notification-ring,.cv-badge-pop,.cv-popover-enter,.cv-favorite-leave{will-change:transform,opacity}
.cv-heart-pop{animation:cv-heart-pop .34s cubic-bezier(.2,.85,.3,1)}
.cv-heart-unpop{animation:cv-heart-unpop .24s ease-out}
.cv-header-heart-pop{animation:cv-header-heart-pop .32s cubic-bezier(.2,.85,.3,1)}
.cv-notification-ring{animation:cv-notification-ring .52s cubic-bezier(.2,.8,.25,1)}
.cv-badge-pop{animation:cv-badge-pop .3s cubic-bezier(.2,.9,.25,1.25)}
.cv-popover-enter{transform-origin:top right;animation:cv-popover-enter .18s cubic-bezier(.2,.8,.25,1)}
.cv-favorite-leave{pointer-events:none;animation:cv-favorite-leave .2s ease forwards}
@keyframes cv-heart-pop{0%{transform:scale(1)}45%{transform:scale(1.24)}72%{transform:scale(.94)}100%{transform:scale(1)}}
@keyframes cv-heart-unpop{0%{transform:scale(1)}45%{transform:scale(.86)}100%{transform:scale(1)}}
@keyframes cv-header-heart-pop{0%{transform:scale(1)}45%{transform:scale(1.17)}100%{transform:scale(1)}}
@keyframes cv-notification-ring{0%,100%{transform:rotate(0)}18%{transform:rotate(10deg)}36%{transform:rotate(-9deg)}54%{transform:rotate(6deg)}72%{transform:rotate(-4deg)}}
@keyframes cv-badge-pop{0%{transform:scale(.55);opacity:.2}70%{transform:scale(1.16);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes cv-popover-enter{0%{transform:translateY(-5px) scale(.985);opacity:0}100%{transform:translateY(0) scale(1);opacity:1}}
@keyframes cv-favorite-leave{0%{transform:translateY(0) scale(1);opacity:1}100%{transform:translateY(5px) scale(.985);opacity:0}}
@media(pointer:coarse){.cv-header .cv-icon-action{min-width:44px!important;min-height:44px!important}.cv-account-trigger{min-width:44px!important;min-height:44px!important}.cv-conversation-row{min-height:60px}.cv-remove-favorite,.cv-send-button{min-height:44px!important}}
@media(hover:none){.cv-heart:hover,.cv-favorite-card:hover,.cv-favorite-card:hover .cv-favorite-media img,.cv-account-trigger:hover{transform:none!important}}
