/* Editorial community profile: warm, calm, readable, and recognizably CSL. */
.community-profile{
  --csl-forest:#174b3f;
  --csl-teal:#12645e;
  --csl-leaf:#447552;
  --csl-gold:#c99a3b;
  --csl-ink:#2e3e36;
  --csl-muted:#58675f;
  --csl-line:#d9e0d8;
  --csl-cream:#f7f6f0;
  --csl-paper:#fffefa;
  background:var(--csl-cream);
  color:var(--csl-ink);
  padding:24px 0 82px;
  font-size:17px;
  line-height:1.65;
}
.community-profile .community-shell{max-width:1280px}
.community-profile .breadcrumbs{margin:0 0 18px;color:var(--csl-muted);font-size:15px}
.community-profile .breadcrumbs a{color:var(--csl-teal);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.community-profile .profile-layout{grid-template-columns:minmax(0,1fr) 330px;gap:38px;align-items:start}
.community-profile .profile-main{min-width:0}
.community-profile .profile-title{padding:8px 0 17px;margin:0 0 16px;border:0;border-bottom:2px solid #e7dfcc;background:transparent}
.community-profile .profile-kicker{margin:0 0 5px;color:var(--csl-leaf);font-size:15px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.community-profile .profile-heading-row{align-items:center;gap:15px}
.community-profile .profile-title h1{color:var(--csl-forest);font-size:clamp(36px,3.7vw,49px);line-height:1.1;letter-spacing:-.025em}
.community-profile .profile-title-actions{gap:7px}
.community-profile .profile-title-actions .save-heart,.community-profile .profile-title-actions .csl-view-saved,.community-profile .profile-title-actions .profile-share{min-height:44px;padding:8px 10px;border:1px solid #d7e0d7;border-radius:9px;background:var(--csl-paper);color:var(--csl-teal);font-size:15px}
.community-profile .profile-title-actions .save-heart .esl-icon{width:22px;height:22px}
.community-profile .profile-meta{gap:9px 12px;margin-top:12px;font-size:16px;color:#405248}
.community-profile .profile-location{font-weight:700}
.community-profile .profile-location .esl-icon{width:20px;height:20px;color:var(--csl-teal);fill:none;stroke:currentColor}
.community-profile .verified,.community-profile .available-pill,.community-profile .csl-licensed-badge{min-height:34px;padding:5px 12px;border:1px solid #c9dfd0;border-radius:999px;background:#edf5ec;color:#285f43;font-size:14px;font-weight:800}
.community-profile .verified .esl-icon{fill:#3c8b60;stroke:#fff}
.community-profile .csl-licensed-badge{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.community-profile .available-pill{border-color:#ead9ae;background:#fbf3df;color:#735719}
.community-profile .profile-rating{font-size:15px}
.community-profile .profile-rating small{font-size:14px;color:var(--csl-muted)}
.community-profile .profile-gallery{height:clamp(340px,36vw,480px);gap:5px;border:1px solid #d6ded5;border-radius:17px;background:#e9ece5;box-shadow:0 9px 24px rgba(45,65,48,.08)}
.community-profile .profile-gallery-grid{gap:5px}
.community-profile .profile-main-photo img,.community-profile .profile-gallery-grid img{transition:transform .3s ease}
.community-profile .photo-placeholder{background:linear-gradient(145deg,#e5e9df,#f5f5ed);color:#5d6a5c;font-size:18px}
.community-profile .view-photos{right:14px;bottom:14px;min-height:48px;padding:10px 15px;border:1px solid #fff;border-radius:9px;background:var(--csl-forest);font-size:15px;box-shadow:0 3px 14px rgba(0,0,0,.2)}
.community-profile .esl-claim-banner{margin:14px 0 10px;padding:16px 19px;border:1px solid #d5e3d7;border-left:5px solid var(--csl-gold);border-radius:11px;background:var(--csl-paper);color:var(--csl-forest);box-shadow:0 3px 12px rgba(46,68,48,.035)}
.community-profile .esl-claim-banner>p{font-size:16px;line-height:1.5}
.community-profile .esl-claim-banner>p strong{font-size:18px;color:var(--csl-forest)}
.community-profile .esl-claim-banner>p span{color:#53665b}
.community-profile .esl-claim-details>summary{min-height:44px;padding:9px 13px;border:1px solid #c8dbcf;border-radius:8px;background:#eff5ed;color:var(--csl-teal);font-size:16px;text-decoration:none}
.community-profile .esl-claim-details>summary:hover{border-color:var(--csl-teal);background:#e6f0e6}
.community-profile .profile-care-tags-after-photo{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0 17px}
.community-profile .profile-care-tags-after-photo a{display:inline-flex;align-items:center;min-height:44px;padding:8px 15px;border:1px solid #c9ddd0;border-radius:8px;background:#edf4eb;color:var(--csl-forest);font-size:16px;font-weight:800;text-decoration:none}
.community-profile .profile-care-tags-after-photo a:hover{border-color:var(--csl-leaf);background:#e2eddf}
.community-profile .profile-note{gap:10px;margin:13px 0 0;padding:12px 15px;border:1px solid #eadbb8;border-radius:9px;background:#fff8e9;color:#61512d;font-size:15px;line-height:1.5}
.community-profile .profile-note .esl-icon{width:20px;height:20px;color:#a77a24;fill:none;stroke:currentColor}
.community-profile .profile-tabs{gap:5px;margin:17px 0 6px;padding:0 0 7px;border-bottom:1px solid #d5ded4}
.community-profile .profile-tabs a{min-height:45px;padding:10px 14px;border-radius:8px;color:#47594e;font-size:15px}
.community-profile .profile-tabs a.active{background:#e8efe5;color:var(--csl-forest)}
.community-profile .profile-tabs a.active:after{display:none}
.community-profile .profile-section{scroll-margin-top:100px}
.community-profile .profile-overview{padding:23px 0 4px}
.community-profile .profile-section h2{margin:0 0 12px;color:var(--csl-forest);font-size:clamp(26px,2.4vw,31px);line-height:1.22}
.community-profile .profile-section h3{color:var(--csl-forest);font-size:20px;line-height:1.32}
.community-profile .profile-description{max-width:850px;color:#35463c;font-size:18px;line-height:1.75}
.community-profile .profile-description p{margin:0 0 14px}
.community-profile .profile-content-card,.community-profile .profile-location-address{margin-top:21px;padding:22px 23px;border:1px solid var(--csl-line);border-radius:13px;background:var(--csl-paper);box-shadow:0 4px 14px rgba(45,65,48,.035)}
.community-profile .profile-content-card>p,.community-profile .profile-location-address p,.community-profile .profile-faqs details p{font-size:17px;line-height:1.65;color:#43544a}
.community-profile .profile-content-card small,.community-profile .service-disclaimer{display:block;margin-top:10px;color:#59685e;font-size:15px;line-height:1.6}
.community-profile .profile-chips span,.community-profile .amenities-grid>div{min-height:45px;padding:9px 13px;border-color:#d8e1d8;border-radius:9px;background:#fffefa;color:#394e40;font-size:15px}
.community-profile .profile-chips .esl-icon,.community-profile .amenities-grid .esl-icon{color:var(--csl-leaf)}
.community-profile .service-categories{margin-top:22px}
.community-profile .service-category-grid article,.community-profile .detailed-feature-grid article{border:1px solid var(--csl-line);border-radius:12px;background:var(--csl-paper);box-shadow:0 3px 12px rgba(45,65,48,.03)}
.community-profile .service-category-grid h3,.community-profile .feature-group h3{color:var(--csl-forest);font-size:19px}
.community-profile .service-category-grid li,.community-profile .feature-group li{font-size:16px;line-height:1.6}
.community-profile .service-category-grid li .esl-icon,.community-profile .feature-group li .esl-icon{color:var(--csl-leaf)}
.community-profile .profile-sidebar{position:sticky;top:98px}
.community-profile .sidebar-card{padding:23px;border:1px solid #ded8c7;border-radius:15px;background:#fffdf6;box-shadow:0 8px 24px rgba(55,63,39,.08)}
.community-profile .starting-label{color:#58665b;font-size:15px;font-weight:700}
.community-profile .profile-price{margin:4px 0 13px;color:var(--csl-forest);font-size:33px;line-height:1.15}
.community-profile .availability-line{font-size:16px;color:#356c48}
.community-profile .btn-block{min-height:52px;margin:10px 0;padding:13px 15px!important;border-radius:9px;font-size:17px;font-weight:800}
.community-profile .btn-primary{background:var(--csl-teal);border-color:var(--csl-teal);color:#fff}
.community-profile .btn-primary:hover{background:var(--csl-forest);border-color:var(--csl-forest)}
.community-profile .btn-outline{border-color:#bfd1c1;background:#fffefa;color:var(--csl-teal)}
.community-profile .profile-sidebar hr{border-top-color:#dedfd2}
.community-profile .profile-sidebar h2{color:var(--csl-forest);font-size:23px}
.community-profile .profile-sidebar h2+p,.community-profile .community-help-card{font-size:16px;line-height:1.55}
.community-profile .community-help-card{padding:16px;border:1px solid #d7e3d4;border-radius:12px;background:#eef3e9;color:#425a48}
.community-profile .community-help-card>.esl-icon{color:var(--csl-leaf)}
.community-profile .community-help-card strong{color:var(--csl-forest)}
.community-profile .community-help-card a,.community-profile .profile-text-link{color:var(--csl-teal)}
.community-profile .free-listing-phone-note{font-size:14px!important}
.community-profile .free-listing-phone-note a{font-size:17px;color:var(--csl-teal)}
.community-profile .pricing-table{font-size:16px}
.community-profile .pricing-table th,.community-profile .pricing-table td{padding:11px 13px}
.community-profile .pricing-table thead{background:#edf2e9;color:var(--csl-forest)}
.community-profile .rating-summary>strong{color:var(--csl-forest)}
.community-profile .rating-stars{color:#b98322}
.community-profile .profile-faqs details{border-top:1px solid #dce2d9}
.community-profile .profile-faqs summary{padding:16px 0;color:var(--csl-forest);font-size:17px;line-height:1.5}
.community-profile .profile-nearby-grid{gap:15px}
.community-profile .profile-nearby-card{border-color:var(--csl-line);border-radius:12px;background:var(--csl-paper);box-shadow:0 3px 12px rgba(45,65,48,.04)}
.community-profile .profile-nearby-card h3{color:var(--csl-forest);font-size:18px}
.community-profile .profile-nearby-card p{font-size:14px}
.community-profile .profile-nearby-card strong{color:var(--csl-teal);font-size:15px}
.community-profile .csl-neighborhood-map-links a{display:inline-flex;align-items:center;min-height:45px;margin:5px 6px 5px 0;padding:9px 13px;border:1px solid #cfddcf;border-radius:8px;background:#fffefa;color:var(--csl-teal);font-size:15px;font-weight:750;text-decoration:none}
.community-profile .csl-neighborhood-map-links a:hover{border-color:var(--csl-leaf);background:#edf4eb}
.community-profile a:focus-visible,.community-profile button:focus-visible,.community-profile summary:focus-visible{outline:3px solid var(--csl-gold);outline-offset:3px}
.community-profile .csl-mobile-tour-cta{font-size:17px}
@media(max-width:980px){
  .community-profile .profile-layout{grid-template-columns:1fr;gap:25px}
  .community-profile .profile-sidebar{position:static;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(230px,.85fr);gap:15px}
  .community-profile .community-action-card{grid-row:span 2}
}
@media(max-width:720px){
  .community-profile{padding:14px 0 94px;font-size:16px}
  .community-profile .profile-title{padding:6px 0 14px}
  .community-profile .profile-title h1{font-size:34px}
  .community-profile .profile-gallery{height:auto;grid-template-columns:1fr;border-radius:14px}
  .community-profile .profile-main-photo{height:clamp(250px,68vw,360px)}
  .community-profile .profile-gallery-grid{height:220px}
  .community-profile .esl-claim-banner{align-items:flex-start;flex-direction:column;gap:10px;padding:15px}
  .community-profile .profile-care-tags-after-photo{gap:8px}
  .community-profile .profile-care-tags-after-photo a{min-height:45px;padding:8px 12px;font-size:15px}
  .community-profile .profile-tabs{gap:3px;margin-inline:-2px;overflow-x:auto}
  .community-profile .profile-tabs a{padding:9px 10px;font-size:14px}
  .community-profile .profile-description{font-size:17px}
  .community-profile .profile-section h2{font-size:26px}
  .community-profile .profile-content-card,.community-profile .profile-location-address{padding:19px 16px}
  .community-profile .profile-sidebar{grid-template-columns:1fr}
  .community-profile .community-action-card{grid-row:auto}
}
@media(max-width:480px){
  .community-profile .profile-title h1{font-size:30px}
  .community-profile .profile-title-actions{gap:5px}
  .community-profile .profile-title-actions .save-heart,.community-profile .profile-title-actions .csl-view-saved,.community-profile .profile-title-actions .profile-share{min-height:42px;padding:7px 8px;font-size:14px}
  .community-profile .profile-meta{font-size:15px}
  .community-profile .profile-main-photo{height:250px}
  .community-profile .profile-gallery-grid{height:190px}
  .community-profile .service-category-grid,.community-profile .detailed-feature-grid{grid-template-columns:1fr}
  .community-profile .profile-nearby-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.community-profile *,.community-profile *::before,.community-profile *::after{scroll-behavior:auto!important;transition:none!important}}

/* Keep an expanded community-claim form inside the article column. */
.community-profile .esl-claim-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;min-width:0}
.community-profile .esl-claim-banner>p{min-width:0}
.community-profile .esl-claim-banner>.esl-claim-details{grid-column:2;min-width:0;max-width:100%}
.community-profile .esl-claim-banner>.esl-claim-details[open]{grid-column:1/-1;width:100%;min-width:0}
.community-profile .esl-claim-form-wrap{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
.community-profile .esl-claim-form,.community-profile .esl-claim-form fieldset,.community-profile .esl-claim-fields{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
.community-profile .esl-claim-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.community-profile .esl-claim-fields label,.community-profile .esl-claim-plan>label{min-width:0}
.community-profile .esl-claim-fields input,.community-profile .esl-claim-fields textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
.community-profile .esl-claim-plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.community-profile .esl-claim-confirm{min-width:0}
@media(max-width:760px){
  .community-profile .esl-claim-banner{grid-template-columns:minmax(0,1fr)}
  .community-profile .esl-claim-banner>.esl-claim-details,.community-profile .esl-claim-banner>.esl-claim-details[open]{grid-column:1;width:100%}
  .community-profile .esl-claim-fields,.community-profile .esl-claim-plan{grid-template-columns:minmax(0,1fr)}
  .community-profile .esl-claim-fields .wide{grid-column:auto}
}

/* Accessible mobile conversion actions */
.csl-profile-mobile-actions,.csl-global-mobile-actions{display:none}
@media(max-width:700px){body{padding-bottom:76px}.csl-profile-mobile-actions{position:fixed;z-index:1000;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));left:12px;display:grid;grid-template-columns:.8fr 1.5fr;gap:9px}.csl-profile-mobile-actions .csl-mobile-tour-cta{position:static;min-height:54px;padding:8px 12px;border-radius:10px;background:#115e5e;color:#fff;font-size:15px;box-shadow:0 8px 24px rgba(16,55,52,.24)}.csl-profile-mobile-call,.csl-global-call,.csl-global-match{display:flex;min-height:54px;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px solid #115e5e;border-radius:10px;background:#fff;color:#115e5e;text-align:center;text-decoration:none;font-size:14px;font-weight:800;box-shadow:0 8px 24px rgba(16,55,52,.18)}.csl-profile-mobile-call .esl-icon{width:19px;height:19px}.csl-global-mobile-actions{position:fixed;z-index:999;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));left:12px;display:grid;grid-template-columns:1.25fr 1fr;gap:9px}.csl-global-match{background:#115e5e;color:#fff}.csl-global-mobile-actions a{font-size:14px}.csl-global-call{flex-direction:column;gap:0}.csl-global-call strong{font-size:14px}body.single-csl_listing{padding-bottom:88px}}
