/* Source-backed experience/place links, using the approved cinematic cards. */
.ranca-demo .portal-link-evidence{padding:0 28px 26px;color:#3e535f;font-size:14px;line-height:1.65}.ranca-demo .portal-link-evidence p{margin:0 0 10px}.ranca-demo .portal-link-evidence a{color:#1468b7;text-decoration:underline;text-underline-offset:3px}.ranca-demo .portal-related>.portal-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.ranca-demo .portal-related .portal-card:only-child>a{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.ranca-demo .portal-related .portal-card:only-child>a>img{height:100%;min-height:270px;object-fit:cover}.ranca-demo .portal-related .portal-card:only-child .portal-link-evidence{padding-top:20px}.ranca-demo .portal-related .portal-card a>div>h3{font-weight:700}@media(max-width:650px){.ranca-demo .portal-related .portal-card:only-child>a{display:block}.ranca-demo .portal-related .portal-card:only-child>a>img{height:230px;min-height:0}.ranca-demo .portal-link-evidence{padding:0 24px 24px}}

.ranca-demo .portal-detail-columns:has(>article:only-child){display:block;max-width:900px;margin-inline:auto}

/* Embedded resort maps must use one shared viewport, including fullscreen. */
.ranca-demo .ranca-map-shell.map-frame{height:460px;border-radius:12px}.ranca-demo .ranca-map-shell.map-frame.large{height:560px}.ranca-demo .ranca-map-shell.map-frame .map-canvas-wrap,.ranca-demo .ranca-map-shell.map-frame .ranca-map{height:100%;min-height:0}.ranca-demo .ranca-map-shell.map-frame .map-resort-views button:disabled{opacity:.5;cursor:wait}@media(max-width:760px){.ranca-demo .ranca-map-shell.map-frame{height:430px}.ranca-demo .ranca-map-shell.map-frame.large{height:490px}}

/* Map geometry is an SVG viewport, not a 24px interface icon. */
.ranca-demo .leaflet-overlay-pane>svg{width:auto;height:auto;max-width:none}

/* Bound sticky contacts to the listing body, before the full-width correction form. */
.ranca-demo .cms-place-page .place-sidebar{position:static;align-self:stretch}.ranca-demo .cms-place-page .place-sidebar-inner{position:sticky;top:130px;display:flex;flex-direction:column;gap:24px;min-width:0}.ranca-demo .cms-place-page .source-panel>ul>li{min-width:0;align-items:flex-start}.ranca-demo .cms-place-page .source-panel>ul>li>a{min-width:0;overflow-wrap:anywhere}.ranca-demo .cms-place-page .source-panel>ul>li>span{flex:0 1 70%;min-width:0;max-width:70%;overflow-wrap:anywhere}@media(max-width:760px){.ranca-demo .cms-place-page .place-sidebar-inner{position:static;gap:22px;width:100%}.ranca-demo .cms-place-page .source-panel>ul>li>span{flex:1;max-width:65%}}

/* Filled actions retain button contrast inside prose and empty states. */
.ranca-demo a.primary-action:not(.secondary),.ranca-demo .portal-empty a.primary-action,.ranca-demo .portal-reading a.primary-action,.ranca-demo .prose a.primary-action,.ranca-demo .prose.portal-reading a.primary-action{color:#fff;text-decoration:none}.ranca-demo a.primary-action:hover,.ranca-demo a.primary-action:focus-visible{color:#fff;text-decoration:none}.ranca-demo .portal-empty a.primary-action i,.ranca-demo .portal-reading a.primary-action i{color:inherit;text-decoration:none}
