:root{--dhsop-primary:#212121;--dhsop-secondary:#2E7D32;--dhsop-secondary-bg:#37474F3D;--dhsop-btn-text:#fff}.dhsop-admin-wrap .dhsop-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dhsop-admin-card{background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:20px;margin-top:20px}.dhsop-muted{color:#646970}.dhsop-form-wrap,.dhsop-intake-card{max-width:820px;margin:0 auto}.dhsop-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dhsop-form-field.full{grid-column:1/-1}.dhsop-form-field label,.dhsop-intake-form label{display:block;font-weight:700;margin-bottom:7px;color:var(--dhsop-primary)}.dhsop-form-field input,.dhsop-form-field textarea,.dhsop-intake-form input,.dhsop-intake-form textarea,.dhsop-directory-filters select{width:100%;border:1px solid rgba(33,33,33,.18);border-radius:10px;padding:13px 14px;font-size:15px;box-sizing:border-box;background:#fff;color:var(--dhsop-primary)}.dhsop-form-field textarea,.dhsop-intake-form textarea{min-height:130px}.dhsop-form-submit,.dhsop-card-button{display:inline-flex;align-items:center;justify-content:center;background:var(--dhsop-secondary);color:var(--dhsop-btn-text)!important;border:0!important;border-radius:999px;padding:14px 26px;font-weight:800;text-decoration:none!important;cursor:pointer}.dhsop-form-message{padding:14px 18px;border-radius:10px;margin-bottom:18px;font-weight:700}.dhsop-form-message.success{background:#e9f8ee;color:#1f6b2b}.dhsop-form-message.error{background:#fdeaea;color:#9b1c1c}.dhsop-hp-field{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.dhsop-floating-buttons{position:fixed;z-index:99999;bottom:24px;display:flex;flex-direction:column;gap:12px}.dhsop-floating-buttons.left{right:22px}.dhsop-floating-button{width:56px!important;height:56px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;box-shadow:0 10px 25px rgba(0,0,0,.18)}.dhsop-floating-phone{background:#212121;color:#fff!important}.dhsop-floating-contact{background:var(--dhsop-secondary);color:#fff!important}.dhsop-reviews-section{max-width:1200px;margin:0 auto;padding:30px 20px}.dhsop-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.dhsop-review-card{background:#fff;border:2px solid var(--dhsop-secondary-bg);border-radius:18px;padding:28px;box-shadow:0 12px 30px rgba(31,58,46,.06)}.dhsop-review-stars{color:var(--dhsop-secondary);margin-bottom:18px;letter-spacing:2px}.dhsop-intake-page{padding:60px 20px;background:#f7f7f7}.dhsop-intake-card{background:#fff;border-radius:20px;padding:35px;box-shadow:0 20px 60px rgba(0,0,0,.08)}.dhsop-directory{max-width:1200px;margin:0 auto;padding:60px 20px}.dhsop-directory-hero{text-align:center;margin-bottom:35px}.dhsop-directory-hero h1{font-size:48px;color:#212121;margin-bottom:10px}.dhsop-directory-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:30px}.dhsop-directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.dhsop-directory-card{background:#fff;border:1px solid rgba(33,33,33,.12);border-radius:18px;padding:24px;box-shadow:0 12px 28px rgba(0,0,0,.06)}.dhsop-directory-card h2{font-size:24px;margin:0 0 8px}.dhsop-directory-card h2 a{color:#212121;text-decoration:none}.dhsop-card-location{font-weight:700;color:#2E7D32}.dhsop-card-tags{font-size:13px;background:#f2f5f2;border-radius:999px;padding:8px 12px}.dhsop-map-wrap{margin-bottom:25px;border-radius:20px;overflow:hidden;background:#f3f3f3}.dhsop-map-wrap #dhsopMap{height:420px;width:100%}@media(max-width:900px){.dhsop-admin-wrap .dhsop-admin-grid,.dhsop-directory-filters,.dhsop-directory-grid,.dhsop-reviews-grid{grid-template-columns:1fr}.dhsop-form-grid{grid-template-columns:1fr}.dhsop-directory-hero h1{font-size:36px}}


/* StayOnPro reviews carousel */
.dhsop-reviews-carousel{max-width:1200px;margin:0 auto;padding:30px 56px;position:relative;box-sizing:border-box}.dhsop-reviews-viewport{overflow:hidden;width:100%}.dhsop-reviews-track{display:flex;gap:22px;transition:transform .35s ease;will-change:transform}.dhsop-reviews-carousel .dhsop-review-card{flex:0 0 calc((100% - 44px)/3);box-sizing:border-box;background:#fff;border:2px solid var(--dhsop-secondary-bg);border-radius:18px;padding:28px;box-shadow:0 12px 30px rgba(31,58,46,.06)}.dhsop-reviews-carousel .dhsop-review-card h3{margin:0 0 12px;color:var(--dhsop-primary);font-size:22px;line-height:1.2}.dhsop-reviews-carousel .dhsop-review-card p{margin:0 0 18px;color:var(--dhsop-primary);line-height:1.6}.dhsop-review-stars{color:var(--dhsop-secondary);margin-bottom:18px;letter-spacing:2px}.dhsop-review-meta{display:flex;flex-direction:column;gap:4px;color:var(--dhsop-primary)}.dhsop-review-meta span{font-size:14px;opacity:.78}.dhsop-reviews-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:var(--dhsop-secondary);color:#fff;font-size:34px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.16);z-index:2}.dhsop-reviews-prev{left:4px}.dhsop-reviews-next{right:4px}.dhsop-reviews-arrow:disabled{opacity:.28;cursor:not-allowed}.dhsop-reviews-carousel.is-static .dhsop-reviews-arrow{display:none}@media(max-width:1024px){.dhsop-reviews-carousel .dhsop-review-card{flex-basis:calc((100% - 22px)/2)}}@media(max-width:767px){.dhsop-reviews-carousel{padding:25px 48px}.dhsop-reviews-carousel .dhsop-review-card{flex-basis:100%;padding:24px}.dhsop-reviews-arrow{width:38px;height:38px;font-size:30px}.dhsop-reviews-prev{left:2px}.dhsop-reviews-next{right:2px}}
.dhsop-form-submit-secondary{background:#37474F3D!important;color:#212121!important}

/* StayOnPro directory v2.1.3 */
.dhsop-directory{max-width:1240px;margin:0 auto;padding:60px 20px;color:#212121}.dhsop-directory-hero{text-align:center;margin-bottom:35px}.dhsop-directory-hero h1{font-size:48px;line-height:1.05;color:#212121;margin:0 0 12px}.dhsop-directory-hero p{font-size:18px;max-width:760px;margin:0 auto;color:#212121;opacity:.82}.dhsop-map-wrap{margin:0 0 34px;border-radius:20px;overflow:hidden;background:#f3f3f3;box-shadow:0 18px 45px rgba(33,33,33,.08)}.dhsop-map-wrap #dhsopMap{height:430px;width:100%}.dhsop-map-empty{margin:0 0 34px;padding:24px;border-radius:18px;background:#f7f8f7;border:1px dashed rgba(46,125,50,.45);color:#212121;text-align:center}.dhsop-map-popup{font-family:Inter,Arial,sans-serif;min-width:190px;color:#212121}.dhsop-map-popup strong{display:block;font-size:16px;margin-bottom:5px}.dhsop-map-popup span,.dhsop-map-popup em{display:block;font-size:13px;margin-bottom:5px;font-style:normal}.dhsop-map-popup a{display:inline-flex;margin-top:7px;background:#2E7D32;color:#fff!important;text-decoration:none!important;border-radius:8px;padding:8px 12px;font-weight:700}.dhsop-directory-filters{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:16px;align-items:end;margin:0 0 34px;padding:20px;background:#fff;border:1px solid rgba(33,33,33,.10);border-radius:18px;box-shadow:0 14px 35px rgba(33,33,33,.06)}.dhsop-filter-field{min-width:0}.dhsop-filter-field label{display:block;margin:0 0 8px;color:#212121;font-weight:800;font-size:14px;line-height:1.2}.dhsop-directory-filters select{width:100%!important;min-height:54px!important;height:auto!important;box-sizing:border-box!important;border:1px solid rgba(33,33,33,.22)!important;border-radius:8px!important;padding:0 42px 0 15px!important;background-color:#fff!important;color:#212121!important;font-size:15px!important;font-weight:600!important;line-height:54px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;appearance:none!important;-webkit-appearance:none!important;background-image:linear-gradient(45deg,transparent 50%,#212121 50%),linear-gradient(135deg,#212121 50%,transparent 50%)!important;background-position:calc(100% - 19px) 24px,calc(100% - 13px) 24px!important;background-size:6px 6px,6px 6px!important;background-repeat:no-repeat!important}.dhsop-directory-filters select:focus{outline:none!important;border-color:#2E7D32!important;box-shadow:0 0 0 3px rgba(46,125,50,.16)!important}.dhsop-directory-reset{min-height:54px;border:0;border-radius:8px;background:#37474F3D;color:#212121;font-weight:800;padding:0 18px;cursor:pointer;white-space:nowrap}.dhsop-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.dhsop-directory-card{background:#fff;border:1px solid rgba(33,33,33,.12);border-radius:18px;padding:24px;box-shadow:0 12px 28px rgba(0,0,0,.06)}.dhsop-directory-card h2{font-size:24px;line-height:1.2;margin:0 0 8px}.dhsop-directory-card h2 a{color:#212121!important;text-decoration:none!important}.dhsop-card-location{font-weight:800;color:#2E7D32;margin:0 0 12px}.dhsop-card-tags{font-size:13px;background:#f2f5f2;border-radius:999px;padding:8px 12px;display:inline-block}.dhsop-card-button{margin-top:12px}@media(max-width:1100px){.dhsop-directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.dhsop-directory-reset{grid-column:1/-1}.dhsop-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.dhsop-directory{padding:40px 14px}.dhsop-directory-hero h1{font-size:36px}.dhsop-directory-filters,.dhsop-directory-grid{grid-template-columns:1fr!important}.dhsop-map-wrap #dhsopMap{height:340px}.dhsop-directory-filters{padding:16px;border-radius:14px}}


/* StayOnPro directory v2.1.4 card refinements */
.dhsop-directory .dhsop-directory-card{
    border-radius:10px;
}
.dhsop-directory .dhsop-card-tags{
    display:block;
    width:fit-content;
    max-width:100%;
    margin:18px 0 0;
    border-radius:5px;
    background:#f2f5f2;
    color:#212121;
    padding:10px 14px;
    line-height:1.35;
}
.dhsop-directory .dhsop-card-button,
.dhsop-directory .dhsop-directory-card-button,
.dhsop-map-popup a{
    border-radius:5px!important;
}
.dhsop-directory .dhsop-card-button,
.dhsop-directory .dhsop-directory-card-button{
    display:inline-flex!important;
    width:auto!important;
    margin-top:18px!important;
    padding:13px 22px!important;
}


/* StayOnPro floating buttons: inline SVG icons, no Dashicons/Font Awesome dependency */
.dhsop-floating-button svg.dhsop-floating-icon{
  width:24px!important;
  height:24px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  color:inherit!important;
  pointer-events:none!important;
}
