.city-attractions{--ca-accent:#087f78;color:inherit;min-width:0;margin-block:3rem;padding-block:1rem;scroll-margin-top:7rem}.city-attractions--dream{--ca-accent:hsl(var(--primary))}.city-attractions *{box-sizing:border-box}.ca-heading{max-width:48rem}.ca-eyebrow{letter-spacing:.08em;color:var(--ca-accent);font-size:.75rem;font-weight:750}.ca-heading h2{margin:.6rem 0 1rem;font-size:clamp(1.7rem,3.5vw,2.6rem);font-weight:800;line-height:1.22}.ca-heading>p:last-child{opacity:.8;font-size:1rem;line-height:1.9}.ca-filters{flex-wrap:wrap;align-items:end;gap:1rem;margin-top:1.5rem;display:flex}.ca-filters label{flex:220px;gap:.5rem;font-size:.9rem;font-weight:650;display:grid}.ca-filters input,.ca-filters select{border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:var(--ca-input,#fff);color:#172f35;width:100%;min-width:0;min-height:48px;font:inherit;border-radius:12px;padding:10px 12px}.ca-count,.ca-footnote{opacity:.75;margin:1.2rem 0;font-size:.85rem;line-height:1.8}.ca-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;display:grid}.ca-card{border:1px solid color-mix(in srgb,currentColor 19%,transparent);background:color-mix(in srgb,currentColor 2%,transparent);border-radius:20px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.ca-card-body{flex-direction:column;flex:1;min-width:0;padding:1.25rem;display:flex}.ca-city{color:var(--ca-accent);margin:0 0 .45rem;font-size:.78rem;font-weight:700}.ca-card h3{margin:0 0 .8rem;font-size:1.3rem;font-weight:750;line-height:1.4}.ca-summary{opacity:.86;overflow-wrap:anywhere;flex:1;margin:0 0 1rem;font-size:.95rem;line-height:1.85}.ca-photo{border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent);margin:0}.ca-photo>a{display:block;overflow:hidden}.ca-photo img{-o-object-fit:contain;object-fit:contain;background:color-mix(in srgb,currentColor 4%,transparent);width:100%;height:auto;max-height:36rem;display:block}.ca-photo--compact img{aspect-ratio:3/2;-o-object-fit:cover;object-fit:cover;height:auto;max-height:none}.ca-photo figcaption{opacity:.8;padding:.6rem 1rem;font-size:.7rem;line-height:1.6}.ca-photo figcaption>span{display:block}.ca-photo details{margin-top:.2rem}.city-attractions summary{cursor:pointer;min-height:32px;padding-block:5px}.city-attractions a{text-underline-offset:3px;overflow-wrap:anywhere}.ca-photo details p{margin:.3rem 0}.ca-actions{flex-wrap:wrap;align-items:center;gap:.8rem;font-size:.85rem;font-weight:700;display:flex}.ca-actions a{align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.ca-actions .ca-map{background:var(--ca-accent);color:#fff;border-radius:10px;padding:9px 14px;text-decoration:none}.city-attractions--dream .ca-map{color:hsl(var(--primary-foreground))}.ca-sources{border-top:1px solid color-mix(in srgb,currentColor 15%,transparent);margin-top:1rem;padding-top:.4rem;font-size:.8rem;line-height:1.8}.ca-sources ul{margin:.5rem 0;padding-inline-start:1.2rem}.ca-sources li{margin:.45rem 0}.ca-reset,.ca-more{border:1px solid var(--ca-accent);min-height:48px;color:var(--ca-accent);cursor:pointer;font:inherit;background:0 0;border-radius:12px;padding:10px 22px;font-weight:700}.ca-more{margin:1.5rem auto;display:block}.ca-photo-missing,.ca-empty{padding:2rem;line-height:1.8}.ca-section-image{margin-block:1.5rem}.ca-section-image .ca-photo{border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:16px;overflow:hidden}.city-attractions :is(a,button,input,select,summary):focus-visible{outline:3px solid var(--ca-accent);outline-offset:3px}@media (width<=640px){.ca-grid{grid-template-columns:minmax(0,1fr)}.ca-filters{gap:.75rem}.ca-filters label{flex-basis:100%}.ca-card-body{padding:1.1rem}.ca-heading h2{font-size:1.8rem}.city-attractions{margin-block:2rem}.ca-summary{font-size:1rem}.ca-actions{gap:.6rem}.ca-photo--compact img{aspect-ratio:16/10}}@media (prefers-reduced-motion:no-preference){.ca-photo img{transition:transform .3s}.ca-photo>a:hover img{transform:scale(1.025)}}.city-attractions .ca-photo details{background:0 0;border:0;border-radius:0;margin:0;padding:0}.city-attractions .ca-sources{border:0;border-top:1px solid color-mix(in srgb,currentColor 15%,transparent);background:0 0;border-radius:0;margin:1rem 0 0;padding:.4rem 0 0}
