.storefinder-index-index .page-title-wrapper {
    display:none;
}

#store-finder-results .store-finder--location-list li.brand-maxphoto .location-show-more a {
    color:#101010;
}

html body#html-body #store-finder-results .store-finder--location-list li.loc-1 .actions button,
html body#html-body #store-finder-results .store-finder--location-list li.loc-1 .ecom-wrapper.list a {
    border-radius: 0px;
    border-width:0px;
}

body.storefinder-index #tsLoadMore,
body.storefinder-index #store-finder-results .store-finder--location-sidebar button.show-map,
#store-finder-results .store-finder--location-list button,
#store-finder-results .store-finder--location-info button,
#store-finder-results .store-finder--location-list li .ecom-wrapper.list a {
    font-weight: bold;
    font-size: 14px;
    line-height: 22.5px;
    border-radius: 0px;
}

body.storefinder-index #store-finder-results .store-finder--trustist .leave-a-review a,
body.storefinder-index #store-finder-results .store-finder--location-sidebar button.show-map,
#store-finder-results .store-finder--location-list button,
#store-finder-results .store-finder--location-info button,
#store-finder-results .store-finder--location-list li .ecom-wrapper.list a,
#store-finder-results .store-finder--location-list li .ecom-wrapper.list a:visited
{
    background: #10633c;
    border: 1px solid #10633c;
    color: #ffffff;
    border-radius: 0px;
}

body.storefinder-index #store-finder-results .store-finder--trustist .leave-a-review a:hover,
body.storefinder-index #store-finder-results .store-finder--location-sidebar button.show-map:hover,
#store-finder-results .store-finder--location-list button:hover,
#store-finder-results .store-finder--location-info button:hover,
#store-finder-results .store-finder--location-list li .ecom-wrapper.list a:hover {
    background: #454545;
    border: 1px solid #454545;
    color: #ffffff;
}

body.storefinder-index #store-finder-results .store-finder--trustist .leave-a-review a:active,
body.storefinder-index #store-finder-results .store-finder--trustist .leave-a-review a:focus,
body.storefinder-index #store-finder-results .store-finder--location-sidebar button.show-map:active,
body.storefinder-index #store-finder-results .store-finder--location-sidebar button.show-map:focus,
#store-finder-results .store-finder--location-list button:active,
#store-finder-results .store-finder--location-list button:focus,
#store-finder-results .store-finder--location-info button:active,
#store-finder-results .store-finder--location-info button:focus,
#store-finder-results .store-finder--location-list li .ecom-wrapper.list a:active,
#store-finder-results .store-finder--location-list li .ecom-wrapper.list a:focus {
    background: #001f52;
    border: 1px solid #001f52;
    color: #ffffff;
}


#store-finder-results .store-finder--location-list li .location-primary-services ul li .service-icon svg {
    color: #10633c;
}

#store-finder-results .store-finder--location-list li.loc-1 .location-primary-services ul li .service-icon svg, 
#store-finder-results .store-finder--location-list li.loc-5 .location-primary-services ul li .service-icon svg {
    color: #FFF;
}



body.storefinder-index #store-finder-results .store-finder--trustist h2 {
    background-color: #10633c;
    color: #FFF;
}

/* Johnsons Shop */
#store-finder-results .store-finder--location-list li.brand-johnsons.loc-1 .location-show-more a, 
#store-finder-results .store-finder--location-list li.brand-johnsons.loc-1 .location-details-wrapper a,
#store-finder-results li.brand-johnsons.loc-1 .heading-open-times,
#store-finder-results .store-finder--location-list li.brand-johnsons.loc-5 .location-show-more a, 
#store-finder-results .store-finder--location-list li.brand-johnsons.loc-5 .location-details-wrapper a,
#store-finder-results li.brand-johnsons.loc-5 .heading-open-times {
    color: #FFF;
}

#store-finder-results .store-finder--location-list li.brand-johnsons.loc-1,
#store-finder-results .store-finder--location-list li.brand-johnsons.loc-5 {
    background-color: #10633c;
    color: #FFF;
}

#store-finder-results .store-finder--location-list li.brand-johnsons.loc-1 .location-type-wrapper,
#store-finder-results .store-finder--location-list li.brand-johnsons.loc-5 .location-type-wrapper {
    border-right:1px solid #FFF;
}

#store-finder-results .store-finder--location-list li.brand-johnsons.loc-1 .actions button, 
#store-finder-results .store-finder--location-list li.brand-johnsons.loc-1 .ecom-wrapper.list a,
#store-finder-results .store-finder--location-list li.brand-johnsons.loc-5 .actions button, 
#store-finder-results .store-finder--location-list li.brand-johnsons.loc-5 .ecom-wrapper.list a {
    background-color: #FFF;
    color: #10633c;
    font-weight: bold;
    border:none;
}

#store-finder-results .store-finder--location-list li.brand-johnsons.loc-1 .actions button:hover, 
#store-finder-results .store-finder--location-list li.brand-johnsons.loc-1 .ecom-wrapper.list a:hover,
#store-finder-results .store-finder--location-list li.brand-johnsons.loc-5 .actions button:hover, 
#store-finder-results .store-finder--location-list li.brand-johnsons.loc-5 .ecom-wrapper.list a:hover {
    background-color: #f8f8f8;
    color: #454545;
}

#store-finder-results .store-finder--location-list li.brand-johnsons.loc-1 .location-additional-services ul li,
#store-finder-results .store-finder--location-list li.brand-johnsons.loc-5 .location-additional-services ul li {
    background-color: #FFF;
    color: #10633c;
    box-shadow: 1px 1px 1px #074b2b;
}

#store-finder-results .store-finder--location-list li.brand-johnsons.loc-1 .location-additional-services ul li:hover,
#store-finder-results .store-finder--location-list li.brand-johnsons.loc-5 .location-additional-services ul li:hover {
    background-color: #f8f8f8;
    color: #454545;
}


/* Johnsons Booth */
#store-finder-results .store-finder--location-list li.brand-johnsons.loc-4 {
    background-color: #F8F8F8;
    border: 1px solid #E1E1E1;
}

#store-finder-results .store-finder--location-list li.brand-johnsons.loc-5 .location-type-wrapper {
    border-right:1px solid #E1E1E1;
}

/* Johnsons location details */

html body.storefinder-index #lpr-search-form h2.search-heading {
    color: #10633c;
    text-align: center;
}



html body.storefinder-index #lpr-search-form .btn-primary,
html body.sf-view-list .store-finder-map-column .action-links button,
#store-finder-results .store-finder--location-info .ecom-wrapper .ecommerce-actions  a,
#store-finder-results .store-finder--location-info .ecom-wrapper .ecommerce-actions a:visited {
    background: #10633c;
    border: 1px solid #10633c;
    color: #ffffff;
    border-radius: 0px;
}

html body.storefinder-index #lpr-search-form .btn-primary:hover,
html body.sf-view-list .store-finder-map-column .action-links button:hover,
#store-finder-results .store-finder--location-info .ecom-wrapper .ecommerce-actions a:hover {
    background: #454545;
    border: 1px solid #454545;
    color: #ffffff;
}

html body.storefinder-index #lpr-search-form .btn-primary:active,
html body.sf-view-list .store-finder-map-column .action-links button:active,
#store-finder-results .store-finder--location-info .ecom-wrapper .ecommerce-actions a:active {
    background: #001f52;
    border: 1px solid #001f52;
    color: #fff
}

/* Type filter pill brand colours */
html body.storefinder-index-index .location-type-filter {
    color: #10633c;
}
html body.storefinder-index-index .type-pill {
    border-color: #10633c;
    color: #10633c;
}
html body.storefinder-index-index .type-pill.type-pill--active {
    background: #10633c;
    border-color: #10633c;
    color: #fff;
}
html body.storefinder-index-index .location-type-selection__title {
    color: #10633c;
}
/* === 2026 Theme — johnsons brand colours === */
body.sf-theme-2026 .sf-location-type-label { color: #10633c; }
body.sf-theme-2026 .store-finder--location-name { color: #10633c; }
body.sf-theme-2026 .store-details-title { color: #10633c; }
body.sf-theme-2026 .sf-nearby-store-card__name { color: #10633c; }
body.sf-theme-2026 .sf-nearby-store-card__type { color: #10633c; }
body.sf-theme-2026 .sf-nearby-store-card:hover { border-color: #10633c; box-shadow: 0 2px 8px rgba(16,99,60,0.14); }
body.sf-theme-2026 .sf-faq-item__question { color: #10633c; }
body.sf-theme-2026 .sf-about-location { border-color: #b0d4c0; }
body.sf-theme-2026 .sf-about-location .store-details-title { color: #10633c; }
body.sf-theme-2026 .sf-faq-section .store-details-title { color: #10633c; }
body.sf-theme-2026 .store-finder--location-info--opening-times-section .times-toggle-btn { color: #10633c; }
body.sf-theme-2026 .button-directions--external {
    border-color: #10633c;
    color: #10633c;
}
body.sf-theme-2026 .button-directions--external:hover {
    background: #10633c;
    border-color: #10633c;
    color: #fff;
}
body.sf-theme-2026 .sf-location-opening-times tr.is-today,
body.sf-theme-2026 .sf-location-opening-times .opening-times--today { background: #e8f4ed; }

/* 2026 theme: primary service links */
body.sf-theme-2026 .sf-primary-service-link { border-color: #c8d0e0; color: #10633c; }
body.sf-theme-2026 .sf-primary-service-link:hover { border-color: #10633c; }
body.sf-theme-2026 .sf-primary-service-link__name { color: #10633c; }

/* CMS promo block — johnsons brand */
body.sf-theme-2026 .sf-cms-promo__heading { color: #10633c; }
body.sf-theme-2026 .sf-cms-promo__card-title { color: #10633c; }
body.sf-theme-2026 .sf-cms-promo__btn { background: #10633c; border-color: #10633c; color: #fff; }
body.sf-theme-2026 .sf-cms-promo__btn:hover { background: #0d4f30; border-color: #0d4f30; }

/* Action buttons — johnsons brand */
body.sf-theme-2026 .sf-action-btn--primary { background: #10633c; border-color: #10633c; color: #fff; }
body.sf-theme-2026 .sf-action-btn--primary:hover { background: #0d4f30; border-color: #0d4f30; }
body.sf-theme-2026 .sf-action-btn--secondary { background: #0d4f30; border-color: #0d4f30; color: #fff; }
body.sf-theme-2026 .sf-action-btn--secondary:hover { background: #0a3d25; border-color: #0a3d25; }
body.sf-theme-2026 .sf-action-btn--outline { border-color: #10633c; color: #10633c; }
body.sf-theme-2026 .sf-action-btn--outline:hover { background: #e8f4ed; }
body.sf-theme-2026 .sf-open-today strong { color: #10633c; }
/* Brand CSS custom property for sf-cms-about border */
body { --sf-primary-color: #10633c; }



/* =============================================================
   Johnsons Launderette Machine Availability Widget
   ============================================================= */

#store-finder-results .store-finder--location-list .location-primary-services {
    clear: left;
}

#store-finder-results .store-finder--location-list .location-additional-services {
    clear: left;
}

#store-finder-results .store-finder--location-list .location-additional-services.has-launderette {
    clear: left;
    float: left;
    width: 60%;
}

/* ---- Detail page ---- */
/* ---- Launderette widget — shared ---- */
.sf-launderette-section-wrapper {
    float: right;
    padding-left: 15px;
    width: 50%;
}

/* ---- Results list ---- */
.sf-launderette-widget {
    float: right;
    width: 40%;
    max-width: 250px;
    padding: 10px;
}

/* Detail page wrapper resets widget to full-width */
.sf-launderette-section-wrapper .sf-launderette-widget {
    float: none;
    width: 60%;
    max-width: none;
    padding: 0;
}

.sf-launderette-loading {
    font-size: 13px;
    color: #888;
    padding: 6px 0;
}

/* Machine list spacing */
.sf-lm-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* ---- Compact rows (results list / mode=list) ---- */
.sf-lm-row {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f5f6f5;
    border-radius: 3px;
    padding: 7px 10px;
}

.sf-lm-row--unavailable {
    opacity: 1;
}

/* Shared icon base — rows and cards both reuse background-image from this */
.sf-lm-row__icon {
    width: 25px;
    height: 25px;
    flex-shrink: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.sf-lm-row__icon--wash {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjEiIGhlaWdodD0iNTkiIHZpZXdCb3g9IjAgMCA2MSA1OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIzXzMwNikiPgo8cGF0aCBkPSJNMzEuOTI5NSA1OC45NzlDNDcuODk5OCA1OC45NzkgNjAuODQ2MSA0NS43NzYyIDYwLjg0NjEgMjkuNDg5NUM2MC44NDYxIDEzLjIwMjkgNDcuODk5OCAwIDMxLjkyOTUgMEMxNS45NTk0IDAgMy4wMTI5NCAxMy4yMDI5IDMuMDEyOTQgMjkuNDg5NUMzLjAxMjk0IDQ1Ljc3NjIgMTUuOTU5NCA1OC45NzkgMzEuOTI5NSA1OC45NzlaIiBmaWxsPSIjMzUzQTQ0Ii8+CjxwYXRoIGQ9Ik0zMS45Mjk3IDU0LjY4NzNDNDUuNTc1NyA1NC42ODczIDU2LjYzNzggNDMuNDA1OCA1Ni42Mzc4IDI5LjQ4OTVDNTYuNjM3OCAxNS41NzMyIDQ1LjU3NTcgNC4yOTE4MSAzMS45Mjk3IDQuMjkxODFDMTguMjgzNyA0LjI5MTgxIDcuMjIxNDQgMTUuNTczMiA3LjIyMTQ0IDI5LjQ4OTVDNy4yMjE0NCA0My40MDU4IDE4LjI4MzcgNTQuNjg3MyAzMS45Mjk3IDU0LjY4NzNaIiBmaWxsPSIjOTBCQkU0Ii8+CjxtYXNrIGlkPSJtYXNrMF8yM18zMDYiIHN0eWxlPSJtYXNrLXR5cGU6bHVtaW5hbmNlIiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4PSI3IiB5PSI0IiB3aWR0aD0iNTAiIGhlaWdodD0iNTEiPgo8cGF0aCBkPSJNMzEuOTI5NyA1NC45NDI2QzQ1LjU3NTcgNTQuOTQyNiA1Ni42Mzc4IDQzLjY2MTMgNTYuNjM3OCAyOS43NDQ5QzU2LjYzNzggMTUuODI4NiA0NS41NzU3IDQuNTQ3MjQgMzEuOTI5NyA0LjU0NzI0QzE4LjI4MzcgNC41NDcyNCA3LjIyMTQ0IDE1LjgyODYgNy4yMjE0NCAyOS43NDQ5QzcuMjIxNDQgNDMuNjYxMyAxOC4yODM3IDU0Ljk0MjYgMzEuOTI5NyA1NC45NDI2WiIgZmlsbD0id2hpdGUiLz4KPC9tYXNrPgo8ZyBtYXNrPSJ1cmwoI21hc2swXzIzXzMwNikiPgo8cGF0aCBkPSJNMzEuMzY4OSA1NS4xMjgyQzQ2LjE5NCA1NS4xMjgyIDU4LjI3NDEgNDIuOTAyNyA1OC40MjI1IDI3LjgxODhDNTMuNDc3NyAyNS4yMjY5IDUwLjUwMzcgMjcuNzczNyA0Ny4wNzYgMzAuNzA3N0M0NC41NDQyIDMyLjg3NDYgNDEuNzI5NSAzNS4yODQ3IDM3Ljk2MjcgMzUuMjg0N0MzNy4yMzQ5IDM1LjI4NDcgMzYuNDcyMSAzNS4xOTQ1IDM1LjY3IDM0Ljk5NThDMzUuNjY1MiAzNC45OTUxIDM1LjY2MDEgMzQuOTkzNiAzNS42NTUyIDM0Ljk5MjJDMzIuODIzMSAzNC4yODc4IDMwLjg3MTcgMzIuMzk1OSAyOC45ODQzIDMwLjU2NThDMjYuMTI4IDI3Ljc5NzEgMjMuODcxMiAyNS42MTAzIDE5LjE0NTMgMjcuNTE0N0MxNy4zOTUxIDI4LjIxOTcgMTYuMTA0MyAyOS41MTg2IDE0LjczNzkgMzAuODk0N0MxMi43NTU3IDMyLjg5MTQgMTAuNTA5NSAzNS4xNTMgNi42MzAwNCAzNS40MTQzQzYuNDMzMTEgMzUuNDI3MyA2LjIzNTQ2IDM1LjQzMzkgNi4wMzYzOCAzNS40MzM5QzUuODM3MyAzNS40MzM5IDUuNjM3NTMgMzUuNDI3MyA1LjQzNzAxIDM1LjQxNDNDOC43Njk5NCA0Ni44MDIyIDE5LjEzNCA1NS4xMjc0IDMxLjM2OTYgNTUuMTI3NEwzMS4zNjg5IDU1LjEyODJaIiBmaWxsPSIjNjg5M0NEIi8+CjwvZz4KPHBhdGggb3BhY2l0eT0iMC43OCIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zOC44MzM1IDI3Ljc0ODlDNDEuNDI2NSAyNy43NDg5IDQzLjUwMDggMjkuODY0MyA0My41MDA4IDMyLjQ1MDRDNDMuNTAwOCAzNS4wMzY2IDQxLjQyNjUgMzcuMjEwMSAzOC44MzM1IDM3LjIxMDFDMzYuMjQwNiAzNy4yMTAxIDM0LjIyMzQgMzUuMDk0OCAzNC4yMjM0IDMyLjQ1MDRDMzQuMjIzNCAyOS44MDYxIDM2LjI5NzcgMjcuNzQ4OSAzOC44MzM1IDI3Ljc0ODlaIiBmaWxsPSIjRTRFRkY5Ii8+CjxwYXRoIG9wYWNpdHk9IjAuNDgiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTMuOTgyIDI0LjQ3NTdDMTQuMzk5NCAyNC40NzU3IDE0LjczNjIgMjQuODE5MiAxNC43MzYyIDI1LjI0NDhDMTQuNzM2MiAyNS42NzA3IDE0LjM5OTQgMjYuMDI3OSAxMy45ODIgMjYuMDI3OUMxMy41NjQ2IDI2LjAyNzkgMTMuMjI3OCAyNS42ODQ0IDEzLjIyNzggMjUuMjQ0OEMxMy4yMjc4IDI0LjgwNTUgMTMuNTY0NiAyNC40NzU3IDEzLjk4MiAyNC40NzU3WiIgZmlsbD0iI0U0RUZGOSIvPgo8cGF0aCBvcGFjaXR5PSIwLjc0IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTI1LjAzNzMgMjAuMTM2OEMyNS44NTE1IDIwLjQxMjYgMjYuMjkwNCAyMS4zMDU0IDI2LjAyIDIyLjEzNjRDMjUuNzQwMSAyMi45OTM2IDI0Ljg2NTMgMjMuNDQxMiAyNC4wNTA1IDIzLjE2NDVDMjMuMjM2MyAyMi44ODg4IDIyLjc5NzYgMjEuOTk2IDIzLjA3NzMgMjEuMTM4OEMyMy4zNDc3IDIwLjMwNzggMjQuMjIzMiAxOS44NjA5IDI1LjAzOCAyMC4xMzY4SDI1LjAzNzNaIiBmaWxsPSIjRTRFRkY5Ii8+CjxwYXRoIG9wYWNpdHk9IjAuNDgiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDcuNTU3NCAyMC4yNjY0QzQ4LjMwMjMgMjAuMjY2NCA0OC45MDIzIDIwLjg3OTEgNDguOTAyMyAyMS42MzhDNDguOTAyMyAyMi4zOTcgNDguMzAxNiAyMy4wMzQ0IDQ3LjU1NzQgMjMuMDM0NEM0Ni44MTMxIDIzLjAzNDQgNDYuMjEyNCAyMi40MjE2IDQ2LjIxMjQgMjEuNjM4QzQ2LjIxMjQgMjAuODU0MyA0Ni44MTMxIDIwLjI2NjQgNDcuNTU3NCAyMC4yNjY0WiIgZmlsbD0iI0U0RUZGOSIvPgo8cGF0aCBvcGFjaXR5PSIwLjQ4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMxLjY1OTEgMTMuNDk0NkMzMS45MTc0IDEzLjQ5NDYgMzIuMTI1MSAxMy43MDcxIDMyLjEyNTEgMTMuOTY5OEMzMi4xMjUxIDE0LjIzMjUgMzEuOTE2NyAxNC40NTM3IDMxLjY1OTEgMTQuNDUzN0MzMS40MDE1IDE0LjQ1MzcgMzEuMTkzMSAxNC4yNDEyIDMxLjE5MzEgMTMuOTY5OEMzMS4xOTMxIDEzLjY5ODQgMzEuNDAxNSAxMy40OTQ2IDMxLjY1OTEgMTMuNDk0NloiIGZpbGw9IiNFNEVGRjkiLz4KPHBhdGggb3BhY2l0eT0iMC40OCIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNS4zNTQ2IDE4LjE2NDJDMzUuOTA2NyAxOC4xNjQyIDM2LjM1MjggMTguNjE4OSAzNi4zNTI4IDE5LjE4MjJDMzYuMzUyOCAxOS43NDU0IDM1LjkwNjcgMjAuMjE4MyAzNS4zNTQ2IDIwLjIxODNDMzQuODAyMyAyMC4yMTgzIDM0LjM1NjIgMTkuNzYzNiAzNC4zNTYyIDE5LjE4MjJDMzQuMzU2MiAxOC42MDA3IDM0LjgwMjMgMTguMTY0MiAzNS4zNTQ2IDE4LjE2NDJaIiBmaWxsPSIjRTRFRkY5Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNS4yNzc1NiAyMS44MDA0QzQuMjY5MjQgMjAuODg0NiAyLjc5OTgyIDIwLjcyODEgMS42Mjc3OCAyMS40MTE4QzAuNTQ2NjUxIDIyLjA0MjUgLTAuMDY2OTk3IDIzLjI2NTEgMC4wNjMzNjMzIDI0LjUyODNMMC40NDYwMTMgMjguMjM2QzAuNDkzMTY1IDI4LjY5MjkgMC40ODk4MjUgMjkuMTUzOCAwLjQzNjA5NiAyOS42MTAxTDAuMDUwMjA2IDMyLjg4NjJDLTAuMTAxNjcgMzQuMTc1NiAwLjUxMjUzOCAzNS40MzQgMS42MTMwMiAzNi4wODc3QzIuNzQ2ODggMzYuNzYxMSA0LjE2OTQ0IDM2LjY1ODQgNS4xOTg5OSAzNS44Mjg4TDcuNTM0NCAzMy45NDY5QzcuOTQxMjYgMzMuNjE5MSA4LjM5MTgyIDMzLjM1MTkgOC44NzI1IDMzLjE1MzVMMTIuMjIyIDMxLjc3MTZDMTMuMzk2NiAzMS4yODY5IDE0LjE2NzIgMzAuMTI1OCAxNC4xNzE4IDI4LjgzMzVDMTQuMTc2NyAyNy40NzM1IDEzLjMzMzMgMjYuMjYwNSAxMi4wNzMyIDI1LjgxNTFMOS4xMzc4NCAyNC43Nzc3QzguNTA4NjcgMjQuNTU1NCA3LjkyODc3IDI0LjIwODUgNy40MzE1MiAyMy43NTY4TDUuMjc3NTYgMjEuODAwNFoiIGZpbGw9IiM2MjY2NkUiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yM18zMDYiPgo8cmVjdCB3aWR0aD0iNjEiIGhlaWdodD0iNTkiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==');
}

.sf-lm-row__icon--dry {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNTkiIHZpZXdCb3g9IjAgMCA2MCA1OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzI2XzY0OCkiPgo8cGF0aCBkPSJNMzAuMjE0MSA1OC45MjlDNDYuNjY0NCA1OC45MjkgNjAuMDAwMSA0NS43MzczIDYwLjAwMDEgMjkuNDY0NEM2MC4wMDAxIDEzLjE5MTcgNDYuNjY0NCAwIDMwLjIxNDEgMEMxMy43NjM3IDAgMC40Mjc5NzkgMTMuMTkxNyAwLjQyNzk3OSAyOS40NjQ0QzAuNDI3OTc5IDQ1LjczNzMgMTMuNzYzNyA1OC45MjkgMzAuMjE0MSA1OC45MjlaIiBmaWxsPSIjMzUzQTQ0Ii8+CjxwYXRoIGQ9Ik0zMC4yNTY5IDU0Ljc1ODNDNDQuMzU1IDU0Ljc1ODMgNTUuNzgzOCA0My40NTI5IDU1Ljc4MzggMjkuNTA3QzU1Ljc4MzggMTUuNTYxMSA0NC4zNTUgNC4yNTU3NCAzMC4yNTY5IDQuMjU1NzRDMTYuMTU4OCA0LjI1NTc0IDQuNzI5OTggMTUuNTYxMSA0LjcyOTk4IDI5LjUwN0M0LjcyOTk4IDQzLjQ1MjkgMTYuMTU4OCA1NC43NTgzIDMwLjI1NjkgNTQuNzU4M1oiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8yNl82NDgpIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjcuNjYzMyAzNC45MjE2QzI2LjA1MTEgMzYuMTMwNyAyNC4yOTQ5IDM3LjM0MjIgMjIuNDk5OSAzOC4yNzE2QzIxLjQ3NTYgMzguODAxOSAyMC40MjQ4IDM5LjE4NjUgMTkuMjQ0NCAzOS4wOTE2QzE3LjEwNjEgMzguOTE5NSAxNS44MTM2IDM3LjIyOTggMTUuMDU0OCAzNS40MDE0TDE1LjA0ODcgMzUuMzg2MkMxMy45NzQzIDMyLjY2MDEgMTMuNjUzMiAyOS43MDMgMTQuMTEgMjYuODEyNEMxNC41NjA3IDIzLjk2MjQgMTUuNzU0OSAyMS4yNjU3IDE3LjU4NjYgMTkuMDE3OUMxOC4yNDMxIDE4LjIxMjEgMTkuMTY2NiAxNy45MzE2IDIwLjE1MzUgMTguMjc4NUMyMS4wMDkgMTguNTc5NSAyMS43NzM4IDE5LjMwMjEgMjIuMzYzMyAxOS45NjUyQzIzLjExNTIgMjAuODEwOSAyMy43Nzg4IDIxLjc3NTcgMjQuMzgwNCAyMi43Mjk5QzI1LjAyNDcgMjMuNzUyIDI1LjYyMDIgMjQuODA3NCAyNi4xODYxIDI1Ljg3NEMyNS40MTUxIDI2LjgzNTggMjQuOTU0NSAyOC4wNTI0IDI0Ljk1NDUgMjkuMzc0OUMyNC45NTQ1IDMxLjYzNjUgMjYuMjk5NiAzMy41ODYzIDI4LjI0MjEgMzQuNDg1NUwyNy42NjI0IDM0LjkyTDI3LjY2MzMgMzQuOTIxNlpNMzAuNjU3IDI1LjAyMjNDMjguMjI2OCAyNS4wMjIzIDI2LjI1NjIgMjYuOTcxNiAyNi4yNTYyIDI5LjM3NTZDMjYuMjU2MiAzMS43Nzk2IDI4LjIyNjggMzMuNzI4OSAzMC42NTcgMzMuNzI4OUMzMy4wODczIDMzLjcyODkgMzUuMDU3OSAzMS43Nzk2IDM1LjA1NzkgMjkuMzc1NkMzNS4wNTc5IDI2Ljk3MTYgMzMuMDg3MyAyNS4wMjIzIDMwLjY1NyAyNS4wMjIzWk0yNy4yOTg2IDI0LjAzNjRDMjcuMDQ2MyAyMi4wNTEgMjYuODY0IDE5Ljk0MTggMjYuOTQ3OSAxNy45Mzk4QzI2Ljk5NiAxNi43OTcgMjcuMTg0MyAxNS43MDQ3IDI3Ljg1NzcgMTQuNzQxNUMyOS4wNzcxIDEyLjk5NTkgMzEuMjAyNCAxMi43MzI2IDMzLjE4MjcgMTIuOTk3NEwzMy4xOTk1IDEyLjk5OTdDMzkuMDk1IDEzLjg5MTMgNDQuMTEyNyAxNy44NTc2IDQ2LjI2MDggMjMuMzU3NEM0Ni42MzgyIDI0LjMyMzEgNDYuNDIxNyAyNS4yNTM5IDQ1LjYyNDEgMjUuOTI2QzQ0LjkzMzEgMjYuNTA4NCA0My45MTgxIDI2LjgwMjUgNDMuMDQyNyAyNi45NzZDNDEuOTI2MyAyNy4xOTcgNDAuNzUwNCAyNy4yODMxIDM5LjYxMzQgMjcuMzIxNUMzOC4zOTcyIDI3LjM2MzEgMzcuMTc1NSAyNy4zNDU3IDM1Ljk1OTMgMjcuMjk2N0MzNS4xMjI3IDI1LjIxMDkgMzMuMDY0NSAyMy43MzU0IDMwLjY1NyAyMy43MzU0QzI5LjQ0MTUgMjMuNzM1NCAyOC4zMTUzIDI0LjExMTkgMjcuMzg5NCAyNC43NTNMMjcuMjk4NiAyNC4wMzY0Wk0zNy4wMTE1IDI5LjE2ODlDMzguODc1MyAyOS45NDUyIDQwLjgxMzEgMzAuODQyOSA0Mi41MjM1IDMxLjkxNTRDNDMuNDk5NSAzMi41MjggNDQuMzYyIDMzLjIzNDcgNDQuODY5MiAzNC4yOTM5QzQ1Ljc4NDIgMzYuMjAzOSA0NC45NTA3IDM4LjE2OTggNDMuNzMyOSAzOS43MjgzTDQzLjcyMyAzOS43NDA5QzQxLjg3MzYgNDIuMDI0MyAzOS40NDU3IDQzLjc3ODMgMzYuNjg2OCA0NC44MzJDMzMuOTY2NiA0NS44NzE1IDMxLjAwODcgNDYuMTk2NiAyOC4xMjQ2IDQ1Ljc1MDhDMjcuMDkwNSA0NS41OTA5IDI2LjM4NDQgNDQuOTQwNyAyNi4xOTQ0IDQzLjkyMTVDMjYuMDI5NyA0My4wMzgzIDI2LjI3OTkgNDIuMDIyIDI2LjU2NTggNDEuMTg1NUMyNi45MzA0IDQwLjExODkgMjcuNDQyOCAzOS4wNjgyIDI3Ljk3NzMgMzguMDc1NEMyOC41NTAxIDM3LjAxMTggMjkuMTc3IDM1Ljk3MzggMjkuODI3NCAzNC45NTU0QzMwLjA5ODIgMzQuOTk0NyAzMC4zNzU3IDM1LjAxNTEgMzAuNjU3IDM1LjAxNTFDMzMuODA2NCAzNS4wMTUxIDM2LjM1ODggMzIuNDg5NiAzNi4zNTg4IDI5LjM3NDJDMzYuMzU4OCAyOS4yMDk3IDM2LjM1MTIgMjkuMDQ3NSAzNi4zMzc0IDI4Ljg4NjlMMzcuMDExNSAyOS4xNjc0VjI5LjE2ODlaIiBmaWxsPSIjREREREREIi8+CjxwYXRoIGQ9Ik03LjU0MDk5IDE5LjE4MTVMMi45MTE5MSAxNy45NTgyQzEuNDQyMjggMTcuNTY5OCAwIDE4LjY2NTUgMCAyMC4xNzAxVjM1LjM3MzRDMCAzNi45MjE1IDEuNTIwNjUgMzguMDIzMyAzLjAxMjY0IDM3LjU1NjRMNy42NDE3MiAzNi4xMDc5QzguNjA0MDcgMzUuODA2NyA5LjI1ODE2IDM0LjkyMzMgOS4yNTgxNiAzMy45MjQ5VjIxLjM5MzRDOS4yNTgxNiAyMC4zNTY2IDguNTUzNjkgMTkuNDQ5MSA3LjU0MDk5IDE5LjE4MTVaIiBmaWxsPSIjNjI2NjZFIi8+CjwvZz4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl8yNl82NDgiIHgxPSIzMC4yNTY5IiB5MT0iNTQuNzU4MSIgeDI9IjMwLjI1NjkiIHkyPSI0LjI1NTc3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIG9mZnNldD0iMC4wMzg0NjE1IiBzdG9wLWNvbG9yPSIjOUY5MTkxIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzg5ODk4OSIvPgo8L2xpbmVhckdyYWRpZW50Pgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzI2XzY0OCI+CjxyZWN0IHdpZHRoPSI2MCIgaGVpZ2h0PSI1OSIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K');
}

/* Row text */
.sf-lm-row__info {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.sf-lm-row__status {
    font-size: 13px;
    font-weight: 700;
}

.sf-lm-row--available .sf-lm-row__status {
    color: #10633c;
}

.sf-lm-row--unavailable .sf-lm-row__status {
    color: #000;
}

.sf-lm-row__eta {
    font-size: 12px;
    font-weight: 500;
}

.sf-lm-row--unavailable .sf-lm-row__eta {
    color: #000;
}

/* ---- Full cards (detail page / mode=detail) ---- */
.sf-lm-card {
    border-radius: 8px;
    overflow: hidden;
}

.sf-lm-card--available {
    background: #10633c;
}

.sf-lm-card--unavailable {
    background: #f0f2f0;
}

.sf-lm-card__header {
    text-align: center;
    padding: 11px 14px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}

.sf-lm-card--available .sf-lm-card__header {
    color: #fff;
}

.sf-lm-card--unavailable .sf-lm-card__header {
    color: #444;
}

.sf-lm-card__eta-label {
    color: #10633c;
    font-weight: 700;
}

.sf-lm-card__divider {
    height: 1px;
    margin: 0 12px;
}

.sf-lm-card--available .sf-lm-card__divider {
    background: rgba(255,255,255,0.25);
}

.sf-lm-card--unavailable .sf-lm-card__divider {
    background: #d4d8d4;
}

.sf-lm-card__body {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
}

/* Card icons reuse background-image from sf-lm-row__icon--wash/dry */
.sf-lm-card__icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: 15%;
}

.sf-lm-card--unavailable .sf-lm-card__icon {
    opacity: 0.4;
}

.sf-lm-card__features {
    list-style: disc;
    padding-left: 18px;
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
}

.sf-lm-card--available .sf-lm-card__features {
    color: #fff;
}

.sf-lm-card--unavailable .sf-lm-card__features {
    color: #666;
}

/* CMS block content injected into card body */
.sf-lm-card__content ul {
    list-style: disc;
    padding-left: 18px;
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.8;
}

.sf-lm-card__content li {
    margin-bottom: 0;
}

.sf-lm-card--available .sf-lm-card__content ul {
    color: #fff;
}

.sf-lm-card--available .sf-lm-card__content b {
    color: #f5c518;
    font-weight: 700;
}

.sf-lm-card--unavailable .sf-lm-card__content ul {
    color: #000;
}

.sf-lm-card--unavailable .sf-lm-card__content b {
    color: #000;
}

/* ---- Live status bar ---- */
.sf-lm-live-bar {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
}

.sf-lm-live-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #3cb96b;
    box-shadow: 0 0 0 0 rgba(60, 185, 107, 0.6);
    animation: sf-lm-pulse 2s ease-in-out infinite;
    flex-shrink: 0;
}

@keyframes sf-lm-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(60, 185, 107, 0.6); }
    70%  { box-shadow: 0 0 0 6px rgba(60, 185, 107, 0); }
    100% { box-shadow: 0 0 0 0 rgba(60, 185, 107, 0); }
}

.sf-lm-live-label {
    font-size: 12px;
    font-weight: 600;
    color: #333;
}

.sf-lm-last-updated {
    font-size: 12px;
    color: #888;
}

/* Detail page — live bar text is light coloured text on white bg */
.sf-launderette-section-wrapper .sf-lm-live-label {
    color: #333;
}

.sf-launderette-section-wrapper .sf-lm-last-updated {
    color: #888;
}

/* Results list — live bar shown inline, white text on Johnsons green loc */
#store-finder-results .store-finder--location-list li.brand-johnsons .sf-lm-live-label {
    color: #fff;
}

#store-finder-results .store-finder--location-list li.brand-johnsons .sf-lm-last-updated {
    color: rgba(255,255,255,0.7);
}

#store-finder-results .store-finder--location-list li.brand-johnsons .sf-launderette-loading {
    color: rgba(255,255,255,0.75);
}

@media (max-width: 768px) {
    .sf-launderette-section-wrapper {
        float: none;
        width: 100%;
        padding-left: 0;
        margin-top: 16px;
    }

    .sf-launderette-section-wrapper .sf-launderette-widget {
        width: 100%;
    }

    .sf-launderette-widget {
        float: none;
        width: 100%;
        max-width: none;
        margin-top: 12px;
    }

    #store-finder-results .store-finder--location-list .location-additional-services.has-launderette {
        float: none;
        width: 100%;
    }
}

/* ---- Non-2026 static/interactive map (matches 2026 theme UX, Johnsons brand colours) ---- */
body.storefinder-index:not(.sf-theme-2026) .sf-static-map-wrapper {
    position: relative;
    width: 100%;
    line-height: 0;
}

body.storefinder-index:not(.sf-theme-2026) .sf-static-map-img {
    width: 100%;
    height: 355px;
    object-fit: cover;
    display: block;
}

body.storefinder-index:not(.sf-theme-2026) .sf-static-map-wrapper:hover .sf-static-map-img {
    opacity: 0.92;
}

body.storefinder-index:not(.sf-theme-2026) .sf-activate-map-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: rgba(16, 99, 60, 0.90);
    border: none;
    border-radius: 20px;
    padding: 8px 10px;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.28);
    transition: background 0.15s;
    white-space: nowrap;
    z-index: 2;
}

body.storefinder-index:not(.sf-theme-2026) .sf-activate-map-btn:hover {
    background: rgba(16, 99, 60, 1);
}

body.storefinder-index:not(.sf-theme-2026) .sf-activate-map-btn__icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: #fff;
    flex-shrink: 0;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M11 2.5l-3.5 3.5H10v4H6V7.5L2.5 11 6 14.5V12h4v4H7.5L11 19.5l3.5-3.5H12v-4h4v2.5l3.5-3.5L16 7.5V10h-4V6h2.5L11 2.5z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M11 2.5l-3.5 3.5H10v4H6V7.5L2.5 11 6 14.5V12h4v4H7.5L11 19.5l3.5-3.5H12v-4h4v2.5l3.5-3.5L16 7.5V10h-4V6h2.5L11 2.5z'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
}

body.storefinder-index:not(.sf-theme-2026) .sf-interactive-map {
    width: 100%;
    height: 355px;
    overflow: hidden;
}
