/* TREM419 community pages 1.0.0. Scoped additions; existing header/footer/global styles remain authoritative. */
.breakdance [data-trem-community] { --community-ink:#092746; --community-blue:#075ca8; }
.breakdance [data-trem-community] .tn-section { padding-top:64px; padding-bottom:64px; }
.breakdance [data-trem-community] .tn-hero { padding-top:56px; padding-bottom:56px; }
.breakdance [data-trem-community] .tn-hero-grid { grid-template-columns:minmax(0,1.18fr) minmax(0,1fr); gap:42px; align-items:center; }
.breakdance [data-trem-community] .tn-h1 { font-size:clamp(34px,3.55vw,54px); line-height:1.1; max-width:760px; }
.breakdance [data-trem-community] .tn-intro { font-size:19px; line-height:1.65; }
.breakdance [data-community-map] { display:flex; flex-direction:column; width:100%; max-width:540px; margin-left:auto; padding-right:28px; gap:10px; }
.breakdance [data-community-map] img { width:100%; height:auto; aspect-ratio:640/500; object-fit:contain; border-radius:20px; box-shadow:0 16px 44px #00172e55; }
.breakdance [data-community-map] .tn-small { font-size:12px; line-height:1.5; color:#d9e7f4; }
.breakdance [data-community-lead] { display:flex; flex-direction:column; gap:18px; max-width:880px; margin-bottom:28px; }
.breakdance [data-trem-community] p.tn-card-copy,.breakdance [data-community-discovery] p.tn-card-copy { display:block; flex:initial; padding:0; margin:0; font-size:16px; line-height:1.7; }
.breakdance [data-trem-community] :is(.tn-h2,.tn-h3) { margin:0; }
.breakdance [data-trem-community] .tn-hero nav a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.breakdance [data-trem-community] .tm-button-outline:is(:hover,:focus-visible) { background:#fff; border-color:#fff; color:#092746; }
.breakdance [data-trem-community] .tn-h2 { font-size:clamp(28px,2.4vw,36px); line-height:1.22; }
.breakdance [data-trem-community] .tn-h3 { font-size:23px; line-height:1.3; }
.breakdance [data-community-grid] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; width:100%; }
.breakdance [data-community-grid="two"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.breakdance [data-community-card] { display:flex; flex-direction:column; height:100%; padding:28px; gap:16px; border:1px solid #d2dfeb; border-radius:14px; background:#fff; color:#203a52; }
.breakdance [data-community-card] p { line-height:1.7; }
.breakdance [data-community-card] .tm-link { color:#075ca8; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.breakdance [data-community-cities] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; width:100%; }
.breakdance [data-community-city] { display:flex; flex-direction:column; padding:22px; gap:8px; border:1px solid #d2dfeb; border-radius:12px; background:#fff; }
.breakdance [data-community-city] a { color:#092746; font-size:22px; font-weight:700; line-height:1.3; text-decoration:underline; text-underline-offset:4px; }
.breakdance [data-community-city] p { font-size:15px; line-height:1.65; color:#435d73; }
.breakdance [data-community-region] { display:flex; flex-direction:column; gap:20px; margin-top:36px; width:100%; }
.breakdance [data-community-photos] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; width:100%; }
.breakdance [data-community-photos] img { width:100%; aspect-ratio:3/2; height:auto; object-fit:cover; border-radius:12px; }
.breakdance [data-community-nearby] { display:flex; flex-wrap:wrap; gap:12px 26px; }
.breakdance [data-community-nearby] a { font-weight:700; color:#075ca8; text-decoration:underline; text-underline-offset:4px; }
.breakdance [data-community-booking] { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:36px; align-items:start; }
.breakdance [data-community-booking] > div { display:flex; flex-direction:column; gap:18px; }
.breakdance [data-community-source] { display:flex; flex-direction:column; margin-top:24px; gap:10px; }
.breakdance [data-community-photos] + a { display:inline-block; margin-top:24px; }
.breakdance [data-community-source] a { font-size:14px; color:#075ca8; text-decoration:underline; text-underline-offset:3px; }
.breakdance [data-trem-community] .tn-dark a:not(.tm-button) { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.breakdance [data-trem-community] a:focus-visible,.breakdance [data-community-discovery] a:focus-visible { outline:3px solid #075ca8; outline-offset:5px; }
.breakdance [data-trem-community] :is(.tn-hero,.tn-dark) a:focus-visible { outline-color:#ffd06a; }
.breakdance [data-community-discovery] .tm-shell { display:flex; flex-direction:column; gap:20px; }
.breakdance [data-community-discovery] nav { display:flex; flex-wrap:wrap; gap:14px 28px; }
.breakdance [data-community-discovery] a { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1023px) {
 .breakdance [data-trem-community] .tn-hero-grid { gap:28px; }
 .breakdance [data-trem-community] .tn-h1 { font-size:38px; }
 .breakdance [data-trem-community] .tn-intro { font-size:17px; }
 .breakdance [data-community-grid],.breakdance [data-community-cities] { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .breakdance [data-community-card] { padding:24px; }
}
@media(max-width:767px) {
 .breakdance [data-trem-community] .tn-section { padding-top:42px; padding-bottom:42px; }
 .breakdance [data-trem-community] .tn-hero-grid,.breakdance [data-community-booking],.breakdance [data-community-grid],.breakdance [data-community-grid="two"],.breakdance [data-community-cities] { grid-template-columns:minmax(0,1fr); }
 .breakdance [data-trem-community] .tn-hero-grid { gap:30px; }
 .breakdance [data-trem-community] .tn-h1 { font-size:34px; }
 .breakdance [data-trem-community] .tn-intro { font-size:17px; }
 .breakdance [data-community-map] { max-width:340px; margin:auto; padding-right:0; }
 .breakdance [data-community-photos] { grid-template-columns:minmax(0,1fr); }
 .breakdance [data-community-card] { padding:24px; }
 .breakdance [data-community-city] { padding:20px; }
 .breakdance [data-community-region] { margin-top:28px; }
}
